Yes, what on earth was I thinking!
should be:
...
$result = mysql_query($sql);
if (mysql_num_rows($result)) {
$row = mysql_fetch_assoc($result);
} else {
echo "whatever";
}
...
Kevin Stone wrote:
>You beat me too the punch and I think you explained it better than me, but
>just one minor little thing to note. Where you said..
>
>"if ( $result = mysql_query($sql)) "
>
>This is not a valid way to check if the query has returned anything.
>mysql_query() returns FALSE on error. So if there was no error but there
>also wasn't anything returned then the object stored in $result wiill more
>than likely evaluate to TRUE. For the determining factor you should count
>the number of rows with mysql_num_rows($result). If the returned value is
>zero then you know it hasn't returned anything.
>
>-Kevin
>
>----- Original Message -----
>From: "PHPCoder" <[EMAIL PROTECTED]>
>To: "Matthew Bielecki" <[EMAIL PROTECTED]>
>Cc: "php-general" <[EMAIL PROTECTED]>
>Sent: Wednesday, July 24, 2002 11:50 AM
>Subject: Re: [PHP] Help with msql_fetch_array()
>
>
>>I can almost guarantee that it's not the second line that is "failing",
>>the problem here is that $result is not containing naything, and that is
>>normally due to the fact that you are not connecting to the db, or the
>>table "tablename" is not there.
>>
>>I use the following format as my "standard" MySQL connect and query
>>
>snippet:
>
>>$link = @mysql_connect("localhost",$username,$password) or die ('Could
>>not connect!'); //@ suppresses the default error message generated by
>>this function and the "or die()" bit kills the script right then and
>>there should it not be able to connect.
>> mysql_select_db("YOUR_DB_NAME",$link);
>> $sql = "select * from your_table_name";
>> if ( $result = mysql_query($sql)) { // checks to see if $result
>>contains anything before it even tries to fetch an associative array
>>from it.
>> $row = mysql_fetch_assoc($result);
>> } else {
>> echo "Empty result set!";
>>
>>Note also that I use mysql_fetch_assoc and NOT mysql_fecth_array, as 9
>>out of 10 times, you don't need the array element id's that is returned
>>by mysql_fetch_array.
>>
>>Matthew Bielecki wrote:
>>
>>>I have a couple of scripts that fail with the error of:
>>>Warning: mysql_fetch_array(): supplied argument is not a valid MySQL
>>>
>result
>
>>>resource in...
>>>
>>>I'm new to both SQL and PHP and I'm wondering if I have some setting
>>>turned off or what.
>>>
>>>Here's the piece of code that is failing (the second line fails):
>>>
>>>$result = mysql_db_query($dbname, "SELECT * FROM tablename ORDER BY id");
>>> $row = mysql_fetch_array($result);
>>>
>>>
>>>Thanks for your help in advance!!
>>>
>>
>>
>>--
>>PHP General Mailing List (http://www.php.net/)
>>To unsubscribe, visit: http://www.php.net/unsub.php
>>
>
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php