serious1234 Posted January 14, 2007 Share Posted January 14, 2007 i followed a video tutorial to make a guestbook using php but when i fininshed typing the file and executed it. it showed me an error that says "Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\myguestbook.php on line 38" and line 38 has the following " for ($i = 0; $i < mysql_num_rows($result); $i++)" and here is the script :[code]<?phprequire ($_SERVER["DOCUMENT_ROOT"]."/config/db_connect.php");$connection = @mysql_connect ($db_host, $db_user, $db_password) or die ("error connecting");mysql_select_db($db_name, $connection);$name = $_POST["txt_name"];$len= strlen($name); //Only write to database if there's a nameif ($len >0) { $email = $_POST["txt_email"]; $comment =$_POST["txt_comment"]; $date = time (); $query = "INSERT INTO guestbook (autoID, name, email, comment, date_auto) VALUES (NULL, '$name','$email','$comment','$date')"; mysql_query($query, $connection) or die (mysql_error ()); } ?><html><head><title>Guestbook</title><body><center><form action="<?php echo $_SERVER[PHP_SELF]; ?>" method="post"><font face="arial" size="1"> Name: <input type="text" name="txt_name"> Email:<input type="text" name="txt_email"><br><br> Comment:<br> <textarea style="width: 75%" rows="10" name="txt_comment"></textarea> <center><input type="submit" value="submit"</font></center></form><table bgcolor="#AAAAAA" border="0" width="75%" cellspacing="1" cellpading="2"<?php$query="SELECT * FROM questbook ORDER BY date_auto";$result = mysql_query($query, $connection); for ($i = 0; $i < mysql_num_rows($result); $i++){ $name = mysql_result($result, $i, "name"); $email = mysql_result($result, $i, "email"); $email= strlen($email); $comment = mysql_result($result,$i, "comment"); $date = mysql_result($result,$i, "date_auto"); $show_date ("H:i:s m/d/Y" , $date); echo ' <tr> <td width="50%" bgcolor="#EEEEEE"> <font face="arial" size="2">'; if ($email_len > 0) { echo '<b>Name:</b> <a href="mailto:'.$email.'>"'.$name.'</a>'; } else { echo '<b>Name:</b> '.$name; } echo ' <br> <b>Comment:</b> '.$comment.' </font> <td> <td width="1%" valign="top" nowrap bgcolor="#EEEEEE"> <b>Date: </b> '.$show_date.' </font> </td> </tr> '; } ?></table></center></body></html>[/code] Link to comment https://forums.phpfreaks.com/topic/34118-using-mysql_num_rows-within-for/ Share on other sites More sharing options...
redbullmarky Posted January 14, 2007 Share Posted January 14, 2007 change this line, just before your error: $result = mysql_query($query, $connection); to this[code]$result = mysql_query($query, $connection) or die(mysql_error());[/code]the error is a result of a problem getting a resource id as a result (possibly) of the query failing.[b]edit[/b] also, when first writing code and hence needing to debug/test as you go, try to avoid the @ error supressor that you used in your first mysql_connect. if the query i mentioned above is valid, then chances are there has been an error connecting properly to your database. Link to comment https://forums.phpfreaks.com/topic/34118-using-mysql_num_rows-within-for/#findComment-160475 Share on other sites More sharing options...
serious1234 Posted January 14, 2007 Author Share Posted January 14, 2007 Thanks alot.... Link to comment https://forums.phpfreaks.com/topic/34118-using-mysql_num_rows-within-for/#findComment-160497 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.