Re: exasperated again

From: Date: Sat, 04 Jul 2009 22:39:36 +0000
Subject: Re: exasperated again
References: 1 2 3 4 5 6 7  Groups: php.general 
Request: Send a blank email to php-general+get-294887@lists.php.net to get a copy of this message
2009/7/4 PJ <af.gourmet@videotron.ca>: > Stuart wrote: >> 2009/7/4 PJ <af.gourmet@videotron.ca>: >> >>> Ashley Sheridan wrote: >>> >>>> On Sat, 2009-07-04 at 10:47 -0400, PJ wrote: >>>> >>>> >>>>> Jim Lucas wrote: >>>>> >>>>> >>>>>> PJ wrote: >>>>>> >>>>>> >>>>>>> Could somebody please explain to me what is wrong with this code? >>>>>>> In my script it works, returns the correct id, but when I try it in a >>>>>>> test pages, nothing in the world gets it to work. This is rather >>>>>>> frustrating, again: >>>>>>> THIS WORKS IN ANOTHER PAGE; IN THE TEST PAGE ID DOES NOT. >>>>>>> $sql = "SELECT id FROM publishers >>>>>>>         WHERE publisher = 'whoever'"; >>>>>>>       $result = mysql_query($sql,$db); >>>>>>>         $row = mysql_fetch_assoc($result);           if >>>>>>> (mysql_num_rows($result) !== 0) { >>>>>>>           $pub = $row['id']; >>>>>>> Syntax is ok, echo "hello"; works. >>>>>>> >>>>>>> >>>>>>> This works in the test page: >>>>>>> $aid = array(); >>>>>>> $ord = array(); >>>>>>> $sql = "SELECT authID, ordinal >>>>>>>         FROM book_author WHERE bookid = 624 ORDER BY ordinal >>>>>>> ASC"; >>>>>>>         $result = mysql_query($sql, $db);             //$row >>>>>>> = >>>>>>> mysql_fetch_assoc($result); >>>>>>>             while ( $row = mysql_fetch_assoc($result) ) { >>>>>>>             $aid[]=$row['authID']; >>>>>>>             $ord[]=$row['ordinal']; >>>>>>>             } >>>>>>>             var_dump($aid); >>>>>>>             echo "<br />"; >>>>>>>             var_dump($ord); >>>>>>>             echo $aid[0], " - "; >>>>>>>             echo $ord[0]; >>>>>>> >>>>>>> This does not: >>>>>>> $fi="joe"; $la="joe"; >>>>>>> $sql = "SELECT id FROM author >>>>>>>         WHERE first_name = '$fi' && last_name = >>>>>>> '$la'"; >>>>>>>     $result = msql_query($sql, $db); >>>>>>>         $row = mysql_fetch_assoc($result); >>>>>>>         $count=mysql_num_rows($result); >>>>>>>     echo $count; >>>>>>>           if (mysql_num_rows($result) > 0) { >>>>>>>           $a_id=$row['id']; >>>>>>>           } >>>>>>>           echo $a_id, "<br /><br />"; >>>>>>> The test page prints out echo "some text"; but no results >>>>>>> when the >>>>>>> results are there.... >>>>>>> Tell me I have missed something simple here, or is this normal for php >>>>>>> ? >>>>>>> I have checked the queries on Mysql command line and they are fine. >>>>>>> I have verified the syntax and Netbeans tells me it is fine. >>>>>>> Same results Firefox3 (2 machines) & IE 8. >>>>>>> What is not fine? >>>>>>> >>>>>>> >>>>>>> >>>>>> I was preaching this to you months ago.  You should have error >>>>>> reporting turned on in a development area. >>>>>> >>>>>> by that I mean php should be set to display_errors = on and >>>>>> error_reporting = E_ALL >>>>>> >>>>>> Give this a try in a development area and "you will see the errors of >>>>>> your ways..." >>>>>> >>>>>> >>>>>> >>>>> The error reporting is always on as you suggested and I use it all the time. >>>>> But error reporting cannot report a non-existing error - a human stupid >>>>> error that I finally caught - msql instead of mysql... oh. well... :-( >>>>> >>>>> -- >>>>> Hervé Kempf: "Pour sauver la planète, sortez du capitalisme.." >>>>> ------------------------------------------------------------- >>>>> Phil Jourdan --- pj@ptahhotep.com >>>>>    http://www.ptahhotep.com >>>>>    http://www.chiccantine.com/andypantry.php >>>>> >>>>> >>>>> >>>>> >>>> Actually, if you had error reporting on, it should have at least picked >>>> that up as a function that was not defined. You do mention you get a lot >>>> of white pages instead of errors, which suggests that either you do not >>>> have errors turned on, or you are turning them on from within PHP, >>>> >>> What do you mean "from within PHP" ? >>> Isn't this enough in the script? >>> error_reporting(E_ALL); >>> ini_set('display_errors', 1); >>> >> >> As Ash points out that will not display errors in the code syntax >> since they prevent any of your script from being executed. You're >> better off setting these values in php.ini. >> >> -Stuart >> >> > But not on a productions server, right? (Since this should have been > corrected before "going live") Indeed. If you're using the same server for both then use ini_set to turn display_errors off on the production site. -Stuart -- http://stut.net/

« previous php.general (#294887) next »