Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.php > #14497

Re: Pulling ad-hoc data from a database into a PHP web page

From "James Harris" <james.harris.1@gmail.com>
Newsgroups comp.lang.php
Subject Re: Pulling ad-hoc data from a database into a PHP web page
Date 2014-11-06 16:15 +0000
Organization A noiseless patient Spider
Message-ID <m3g6rd$bfv$1@dont-email.me> (permalink)
References <m3ef2b$u9h$1@dont-email.me> <m3erom$ri2$1@dont-email.me><m3g44n$ve0$1@dont-email.me> <87oaskxriy.fsf@ahungry.com>

Show all headers | View raw


"Matthew Carter" <m@ahungry.com> wrote in message 
news:87oaskxriy.fsf@ahungry.com...
> "James Harris" <james.harris.1@gmail.com> writes:

...

>> function scalar_get($key) {
>>   global $sv, $db, $un, $pw;
>>   echo "In function scalar_get($key)<br/>";
>>   echo "Make db connection to $db<br/>";
>>
>>   $conn = mysqli_connect($sv, $un, $pw);
>>   if (!$conn) {
>>     die("Database connection failed: " . mysqli_connect_error());
>>   }
>>   echo "Database connected successfully<br/>";
>>
>>   $sql = "select value from $db.scalars where id = \"$key\";";
>>   $result = mysqli_query($conn, $sql);
>>   if ($result === FALSE) {
>>     echo "Query ($sql) failed: " . mysqli_error($conn) . "<br/>";
>>   } elseif (mysqli_num_rows($result) !== 1) {
>>     echo "Expected one row, got " . mysqli_num_rows($result) . "<br/>";
>>   } else {
>>     echo "Got one row<br/>";
>>     $row = mysqli_fetch_row($result);
>>     echo "Result is ($row[0])<br/>";
>>   }
>> }
>>
>> The idea is that a function like the above (but less verbose!) would be
>> called an arbitrary number of times in the main body of a page by means 
>> of
>> calls such as the following. At least for scalars I may get it to return 
>> the
>> string instead of printing it.
>>
>>   scalar_get("forename");
>>   echo "<br/>";
>>   scalar_get("surname");
>>   echo "<br/>";

...

> I would either:
>  - Wrap the function in a class and store the DB connection as a class
>  variable
>  - Pass the connection as an additional parameter to the function
>  - If you insist on including a 'global' line in there, use the
>  connection as the global (instead of the name/pass etc.)

Thanks. The latter sounds simple and is apparently something I already know 
how to do - because I've just tried it with string variables. It would also 
be sufficient for my needs just now.

A query though: where is it best to have the PHP code which makes the 
database connection? Should it go
* before the start of the page (such as before any initial <html> tag)
* in the <head>...</head> section
* at the top of the <body> section
or does it not matter as long as the code to make the connection comes 
before the functions which use it?

> Opening a database each time you want to do a single query is more
> inefficient than opening and keeping open.
>
> Is your database going to be two column like this?
>
>    --------------
>    | id | value |
>    --------------

The table containing the scalars will be exactly like that. (As an aside I 
think of this as a table of key-value pairs and was going to use "key" as a 
column name but mysql objected so I had to change it to "id"; I guess that 
the former is a reserved word as it is used in other SQL contexts even 
though it is not valid in the select context I was using.)

> If so, you could probably make 'id' your unique key and omit your elseif
> clause in the row checking snippet (it seems like having duplicate ids
> would break the manner in which you want to query this information).

Understood. Yes, it is a unique key.

James

Back to comp.lang.php | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Pulling ad-hoc data from a database into a PHP web page "James Harris" <james.harris.1@gmail.com> - 2014-11-06 00:23 +0000
  Re: Pulling ad-hoc data from a database into a PHP web page Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-11-06 04:54 +0100
    Re: Pulling ad-hoc data from a database into a PHP web page Jerry Stuckle <jstucklex@attglobal.net> - 2014-11-06 09:19 -0500
      Re: Pulling ad-hoc data from a database into a PHP web page "James Harris" <james.harris.1@gmail.com> - 2014-11-06 15:39 +0000
        Re: Pulling ad-hoc data from a database into a PHP web page Jerry Stuckle <jstucklex@attglobal.net> - 2014-11-06 11:32 -0500
          Re: Pulling ad-hoc data from a database into a PHP web page "M. Strobel" <sorry_no_mail_here@nowhere.dee> - 2014-11-26 10:26 +0100
            Re: Pulling ad-hoc data from a database into a PHP web page Tim Streater <timstreater@greenbee.net> - 2014-11-26 09:38 +0000
              Re: Pulling ad-hoc data from a database into a PHP web page "M. Strobel" <sorry_no_mail_here@nowhere.dee> - 2014-11-26 11:56 +0100
            Re: Pulling ad-hoc data from a database into a PHP web page Jerry Stuckle <jstucklex@attglobal.net> - 2014-11-26 07:51 -0500
              Re: Pulling ad-hoc data from a database into a PHP web page "M. Strobel" <sorry_no_mail_here@nowhere.dee> - 2014-11-26 14:24 +0100
                Re: Pulling ad-hoc data from a database into a PHP web page Jerry Stuckle <jstucklex@attglobal.net> - 2014-11-26 08:36 -0500
                Re: Pulling ad-hoc data from a database into a PHP web page Matthew Carter <m@ahungry.com> - 2014-11-26 10:21 -0500
                Re: Pulling ad-hoc data from a database into a PHP web page "M. Strobel" <sorry_no_mail_here@nowhere.dee> - 2014-11-26 20:57 +0100
                Re: Pulling ad-hoc data from a database into a PHP web page Jerry Stuckle <jstucklex@attglobal.net> - 2014-11-26 16:21 -0500
        Re: Pulling ad-hoc data from a database into a PHP web page "Christoph M. Becker" <cmbecker69@arcor.de> - 2014-11-06 18:27 +0100
    Re: Pulling ad-hoc data from a database into a PHP web page "James Harris" <james.harris.1@gmail.com> - 2014-11-06 15:58 +0000
      Re: Pulling ad-hoc data from a database into a PHP web page Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-11-06 21:34 +0100
  Re: Pulling ad-hoc data from a database into a PHP web page Jerry Stuckle <jstucklex@attglobal.net> - 2014-11-05 23:00 -0500
    Re: Pulling ad-hoc data from a database into a PHP web page "James Harris" <james.harris.1@gmail.com> - 2014-11-06 15:29 +0000
      Re: Pulling ad-hoc data from a database into a PHP web page Matthew Carter <m@ahungry.com> - 2014-11-06 10:44 -0500
        Re: Pulling ad-hoc data from a database into a PHP web page "James Harris" <james.harris.1@gmail.com> - 2014-11-06 16:15 +0000
          Re: Pulling ad-hoc data from a database into a PHP web page Matthew Carter <m@ahungry.com> - 2014-11-06 11:25 -0500
            Re: Pulling ad-hoc data from a database into a PHP web page Jerry Stuckle <jstucklex@attglobal.net> - 2014-11-06 12:42 -0500
            Re: Pulling ad-hoc data from a database into a PHP web page Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-11-08 13:50 +0100
              Re: Pulling ad-hoc data from a database into a PHP web page Matthew Carter <m@ahungry.com> - 2014-11-08 21:19 -0500
                Re: Pulling ad-hoc data from a database into a PHP web page Jerry Stuckle <jstucklex@attglobal.net> - 2014-11-08 22:08 -0500
                Re: Pulling ad-hoc data from a database into a PHP web page Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-11-09 08:09 +0100
          Re: Pulling ad-hoc data from a database into a PHP web page "Christoph M. Becker" <cmbecker69@arcor.de> - 2014-11-06 18:24 +0100
            Re: Pulling ad-hoc data from a database into a PHP web page Matthew Carter <m@ahungry.com> - 2014-11-06 12:37 -0500
            Re: Pulling ad-hoc data from a database into a PHP web page "James Harris" <james.harris.1@gmail.com> - 2014-11-06 17:51 +0000
              Re: Pulling ad-hoc data from a database into a PHP web page "Christoph M. Becker" <cmbecker69@arcor.de> - 2014-11-06 20:56 +0100
      Re: Pulling ad-hoc data from a database into a PHP web page Jerry Stuckle <jstucklex@attglobal.net> - 2014-11-06 12:40 -0500
      Re: Pulling ad-hoc data from a database into a PHP web page richard <noreply@example.com> - 2014-11-10 11:17 -0500
        Re: Pulling ad-hoc data from a database into a PHP web page Denis McMahon <denismfmcmahon@gmail.com> - 2014-11-10 21:27 +0000

csiph-web