|  | Posted by Rik on 08/15/07 10:35 
On Wed, 15 Aug 2007 12:26:42 +0200, Dave  =
 <david.greenhall@praybourne.co.uk> wrote:
 > On 15 Aug, 11:06, Rik <luiheidsgoe...@hotmail.com> wrote:
 >> On Wed, 15 Aug 2007 11:59:25 +0200, Dave
 >> <david.greenh...@praybourne.co.uk> wrote:
 >> > I have just set up a duplicate server running:
 >> > apache 2.54, mysql 5.04 and php 5.04
 >>
 >> > This is the same setup as as the server we are using now, apart fro=
 m
 >> > the hardware inside. I have copied across the database and website,=
 
 >> > with exact same permissions as the first server.
 >>
 >> > The problem is that part of the php code is executing but others
 >> > arent:
 >>
 >> > example:
 >> > ------------------------
 >> > <?php
 >> > die(mysql_error());
 >> > echo "Connected to MySQL<br />";
 >> > mysql_select_db("sales") or die(mysql_error());
 >> > echo "Connected to Database<br />";
 >>
 >> > $query =3D mysql_query("SELECT product_name FROM `code_tbl` WHERE `=
 code`
 >> > =3D'P191")
 >>
 >> Shouldn't that be `code` =3D 'P191'" (notice the ending single quote)=
 ..
 >>
 >> > or die(mysql_error());
 >>
 >> > But when i change it to:
 >> > -----------------
 >> > <?php
 >> > // Make the connection
 >> > mysql_connect("localhost", "user", "pass") or die(mysql_error());
 >> > echo "Connected to MySQL<br />";
 >> > mysql_select_db("sales") or die(mysql_error());
 >> > echo "Connected to Database<br />";
 >>
 >> > $query =3D mysql_query("SELECT product_name FROM `code_tbl` WHERE `=
 code`
 >> > =3D'$code")
 >>
 >> Again, the missing ending single quote in the SQL statement. Where do=
 es
 >> $code com form BTW? You're not relying on register_globals are you? N=
 ot  =
 
 >> a
 >> good thing. So, use $code =3D mysql_real_escape_string($_GET['code'])=
 ;  =
 
 >> first.
 >>
 >> > $result =3D mysql_fetch_array($query);
 >>
 >> var_dump($result);
 >
 > The missing ' was a mistype in the post. I have tried adding the code
 > you suggested along with others.
 >
 > 1. adding the line $code =3D mysql_real_escape_string($_GET['code']);
 > outputs absolutely nothing, not even "connected to database"
 
 Have you enabled display_errors? It should be done just after connecting=
 =
 
 to the database.
 
 > 2. Removing the single quotes around $code
 
 You shouldn't do that.
 
 > 3. Removing the last single quote from around $code (so becomes
 > '$code ) like mistype above.
 
 Shouldn't do that either.
 
 > 4. When single quotes are put back in and adding the line
 > var_dump($result);
 > outputs: array(2) { [0]=3D> string(0) "" ["product_name"]=3D> string(0=
 )
 > "" }
 >
 > 5. When manually adding the code P191 in to the php code instead of
 > $code, the ouput of var_dump is:
 > array(2) { [0]=3D> string(28) "Pulsar Classic Bomber
 > Jacket" ["product_name"]=3D> string(28) "Pulsar Classic Bomber Jacket"=
 }
 
 Well, echo the query that gets send before actually using it, and examin=
 e  =
 
 where it differs.
 
 -- =
 
 Rik Wasmus
  Navigation: [Reply to this message] |