954,561 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Warning: mysql_numrows()

HI All,

I am currently following a tutorial on mysql and php and I am getting this error on displaying results ready for an update in a form.

Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /home/site/update.php on line 11

<?
$id=$_GET['id'];
$username="web183-sql";
$password="sqlpassword";
$database="web183-sql";
mysql_connect(localhost,$username,$password);

$query=" SELECT * FROM contacts WHERE id='$id'";
$result=mysql_query($query);

$num=mysql_numrows($result);

mysql_close();

$i=0;
while ($i < $num) {

$first=mysql_result($result,$i,"first");
$last=mysql_result($result,$i,"last");
$phone=mysql_result($result,$i,"phone");
$mobile=mysql_result($result,$i,"mobile");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");
?>

<form action="updated.php" method="post">
<input type="hidden" name="ud_id" value="<? echo $id; ?>">
First Name: <input type="text" name="ud_first" value="<? echo $first; ?>">
Last Name: <input type="text" name="ud_last" value="<? echo $last; ?>">
Phone Number: <input type="text" name="ud_phone" value="<? echo $phone; ?>">
Mobile Number: <input type="text" name="ud_mobile" value="<? echo $mobile; ?>">
Fax Number: <input type="text" name="ud_fax" value="<? echo $fax; ?>">
E-mail Address: <input type="text" name="ud_email" value="<? echo $email; ?>">
Web Address: <input type="text" name="ud_web" value="<? echo $web; ?>">
<input type="Submit" value="Update">
</form>

<?
++$i;
}
?>


Any ideas.

Thanks
Sam

samtwilliams
Newbie Poster
1 post since Dec 2008
Reputation Points: 10
Solved Threads: 0
 

Maybe try this... Its What I've used.
$num = mysql_num_rows($result);

it might help.

PomonaGrange
Junior Poster in Training
67 posts since Jun 2008
Reputation Points: 10
Solved Threads: 3
 

this most likely means your query failed.

change:

$query=" SELECT * FROM contacts WHERE id='$id'";
$result=mysql_query($query);


to

$query="SELECT * FROM contacts WHERE id='$id'";
$result=mysql_query($query) or die( 'Error: ' . mysql_error() );


you had an extra space in the query which might make it fail, but I am not sure.

kkeith29
Nearly a Posting Virtuoso
1,357 posts since Jun 2007
Reputation Points: 235
Solved Threads: 194
 

Maybe try this... Its What I've used. $num = mysql_num_rows($result);

it might help.

i think the above is the solution....

Shanti C
Posting Virtuoso
1,642 posts since Jul 2008
Reputation Points: 137
Solved Threads: 162
 

Use this..

$num = mysql_num_rows($result);
Aamit
Posting Whiz
342 posts since Apr 2008
Reputation Points: 3
Solved Threads: 15
 

hi,
the above all solutions looks right...

still u didnt get this try to do this...

echo $id;

i think id value is null....

sarithak
Junior Poster
183 posts since Aug 2008
Reputation Points: 10
Solved Threads: 7
 

2 things...

First in your sql query...
There is a space in your sql query..
" Select ......"
change it to :
$sql = "Select ....... ";

Secondly... u are using mysql_result just above the form thing,,

But before using the mysql_result thing, you have already closed the mysql connection.. i.e. mysql_close();

Remove it and move it to last of the page, after the

<?
$id=$_GET['id'];
$username="web183-sql";
$password="sqlpassword";
$database="web183-sql";
mysql_connect(localhost,$username,$password);

$query=" SELECT * FROM contacts WHERE id='$id'";
$result=mysql_query($query);

$num=mysql_numrows($result);

mysql_close();

$i=0;
while ($i < $num) {

$first=mysql_result($result,$i,"first");
$last=mysql_result($result,$i,"last");
$phone=mysql_result($result,$i,"phone");
$mobile=mysql_result($result,$i,"mobile");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");
?>

<form action="updated.php" method="post">
<input type="hidden" name="ud_id" value="<? echo $id; ?>">
First Name: <input type="text" name="ud_first" value="<? echo $first; ?>">
Last Name: <input type="text" name="ud_last" value="<? echo $last; ?>">
Phone Number: <input type="text" name="ud_phone" value="<? echo $phone; ?>">
Mobile Number: <input type="text" name="ud_mobile" value="<? echo $mobile; ?>">
Fax Number: <input type="text" name="ud_fax" value="<? echo $fax; ?>">
E-mail Address: <input type="text" name="ud_email" value="<? echo $email; ?>">
Web Address: <input type="text" name="ud_web" value="<? echo $web; ?>">
<input type="Submit" value="Update">
</form>

<?
++$i;
}
?><?
$id=$_GET['id'];
$username="web183-sql";
$password="sqlpassword";
$database="web183-sql";
mysql_connect(localhost,$username,$password);

$query=" SELECT * FROM contacts WHERE id='$id'";
$result=mysql_query($query);

$num=mysql_numrows($result);


$i=0;
while ($i < $num) {

$first=mysql_result($result,$i,"first");
$last=mysql_result($result,$i,"last");
$phone=mysql_result($result,$i,"phone");
$mobile=mysql_result($result,$i,"mobile");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");
?>

<form action="updated.php" method="post">
<input type="hidden" name="ud_id" value="<? echo $id; ?>">
First Name: <input type="text" name="ud_first" value="<? echo $first; ?>">
Last Name: <input type="text" name="ud_last" value="<? echo $last; ?>">
Phone Number: <input type="text" name="ud_phone" value="<? echo $phone; ?>">
Mobile Number: <input type="text" name="ud_mobile" value="<? echo $mobile; ?>">
Fax Number: <input type="text" name="ud_fax" value="<? echo $fax; ?>">
E-mail Address: <input type="text" name="ud_email" value="<? echo $email; ?>">
Web Address: <input type="text" name="ud_web" value="<? echo $web; ?>">
<input type="Submit" value="Update">
</form>

<?
++$i;
}

mysql_close();
?>
sikka_varun
Junior Poster in Training
94 posts since Dec 2008
Reputation Points: 11
Solved Threads: 12
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You