Connecting Tech Pros Worldwide Forums | Help | Site Map

MySql_fetch_array() error in PHP

Newbie
 
Join Date: Nov 2006
Posts: 1
#1: Nov 21 '06
In config.php line 28 I have written the following lines.
$query = "SELECT * FROM `users` WHERE username = '".$uname."' AND password = '".$pword."'";
# set a query

$online = mysql_fetch_array(mysql_query($query));

Using MYSQL and PHP in a remote linux server I am getting the following error.
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/india/public_html/xxxxx/auth/config.php on line 28

Can anybody advice , why I am getting the error.

ronverdonk's Avatar
Moderator
 
Join Date: Jul 2006
Location: The Netherlands
Posts: 4,139
#2: Nov 21 '06

re: MySql_fetch_array() error in PHP


It most likely means you have an error in the mysql_select because no object was created. Statement of warning: do never nest mysql queries, like you do here, because you can't get to the error that caused it. Instead display the errors and continue depending on the result, like in the following sample:[php]$query = "SELECT * FROM `users` WHERE username = '$uname' AND password = '$pword';
$res = mysql_query($query)
or die("Error in select: " . mysql_error());
if (mysql_num_rows > 0)
$online = mysql_fetch_array($res);
else
echo 'No records available';[/php]
Ronald :cool:
Nert's Avatar
Member
 
Join Date: Nov 2006
Location: Philippines
Posts: 64
#3: Nov 22 '06

re: MySql_fetch_array() error in PHP


hi Sir Ronald,

i just edited something on your post at the line "if(mysql_num_rows > 0)". (^_^)

[php]
$query = "SELECT * FROM `users` WHERE username = '$uname' AND password = '$pword';
$res = mysql_query($query)
or die("Error in select: " . mysql_error());
if (mysql_num_rows($res) > 0)
$online = mysql_fetch_array($res);
else
echo 'No records available';[/php]


--nert
ronverdonk's Avatar
Moderator
 
Join Date: Jul 2006
Location: The Netherlands
Posts: 4,139
#4: Nov 22 '06

re: MySql_fetch_array() error in PHP


Quote:

Originally Posted by Nert

hi Sir Ronald,

i just edited something on your post at the line "if(mysql_num_rows > 0)". (^_^)

[php]
$query = "SELECT * FROM `users` WHERE username = '$uname' AND password = '$pword';
$res = mysql_query($query)
or die("Error in select: " . mysql_error());
if (mysql_num_rows($res) > 0)
$online = mysql_fetch_array($res);
else
echo 'No records available';[/php]


--nert

You are right, thanks.

Ronald :cool:
Reply