Foster1984 Posted January 28, 2009 Share Posted January 28, 2009 Hey iam getting this error: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Website\view_topic.php on line 18 (also on line 48 and 88) These lines: $rows=mysql_fetch_array($result); while($rows=mysql_fetch_array($result2)){ $rows=mysql_fetch_array($result3); HERE IS THE FULL CODE: <?php $host="localhost"; // Host name $username=""; // Mysql username $password=""; // Mysql password $db_name="test"; // Database name $tbl_name="forum_question"; // Table name // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); // get value of id that sent from address bar $id=$_GET['id']; $sql="SELECT * FROM $tbl_name WHERE id='$id'"; $result=mysql_query($sql); $rows=mysql_fetch_array($result); ?> <table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"> <tr> <td><table width="100%" border="0" cellpadding="3" cellspacing="1" bordercolor="1" bgcolor="#FFFFFF"> <tr> <td bgcolor="#F8F7F1"><strong><?php echo $rows['topic']; ?></strong></td> </tr> <tr> <td bgcolor="#F8F7F1"><?php echo $rows['detail']; ?></td> </tr> <tr> <td bgcolor="#F8F7F1"><strong>By :</strong> <?php echo $rows['name']; ?> <strong>Email : </strong><?php echo $rows['email'];?></td> </tr> <tr> <td bgcolor="#F8F7F1"><strong>Date/time : </strong><?php echo $rows['datetime']; ?></td> </tr> </table></td> </tr> </table> <BR> <?php $tbl_name2="forum_answer"; // Switch to table "forum_answer" $sql2="SELECT * FROM $tbl_name2 WHERE question_id='$id'"; $result2=mysql_query($sql2); while($rows=mysql_fetch_array($result2)){ ?> <table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"> <tr> <td><table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"> <tr> <td bgcolor="#F8F7F1"><strong>ID</strong></td> <td bgcolor="#F8F7F1">:</td> <td bgcolor="#F8F7F1"><?php echo $rows['a_id']; ?></td> </tr> <tr> <td width="18%" bgcolor="#F8F7F1"><strong>Name</strong></td> <td width="5%" bgcolor="#F8F7F1">:</td> <td width="77%" bgcolor="#F8F7F1"><?php echo $rows['a_name']; ?></td> </tr> <tr> <td bgcolor="#F8F7F1"><strong>Email</strong></td> <td bgcolor="#F8F7F1">:</td> <td bgcolor="#F8F7F1"><?php echo $rows['a_email']; ?></td> </tr> <tr> <td bgcolor="#F8F7F1"><strong>Answer</strong></td> <td bgcolor="#F8F7F1">:</td> <td bgcolor="#F8F7F1"><?php echo $rows['a_answer']; ?></td> </tr> <tr> <td bgcolor="#F8F7F1"><strong>Date/Time</strong></td> <td bgcolor="#F8F7F1">:</td> <td bgcolor="#F8F7F1"><?php echo $rows['a_datetime']; ?></td> </tr> </table></td> </tr> </table><br> <?php } $sql3="SELECT view FROM $tbl_name WHERE id='$id'"; $result3=mysql_query($sql3); $rows=mysql_fetch_array($result3); $view=$rows['view']; // if have no counter value set counter = 1 if(empty($view)){ $view=1; $sql4="INSERT INTO $tbl_name(view) VALUES('$view') WHERE id='$id'"; $result4=mysql_query($sql4); } // count more value $addview=$view+1; $sql5="update $tbl_name set view='$addview' WHERE id='$id'"; $result5=mysql_query($sql5); mysql_close(); ?> <BR> <table width="400" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC"> <tr> <form name="form1" method="post" action="add_answer.php"> <td> <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"> <tr> <td width="18%"><strong>Name</strong></td> <td width="3%">:</td> <td width="79%"><input name="a_name" type="text" id="a_name" size="45"></td> </tr> <tr> <td><strong>Email</strong></td> <td>:</td> <td><input name="a_email" type="text" id="a_email" size="45"></td> </tr> <tr> <td valign="top"><strong>Answer</strong></td> <td valign="top">:</td> <td><textarea name="a_answer" cols="45" rows="3" id="a_answer"></textarea></td> </tr> <tr> <td> </td> <td><input name="id" type="hidden" value="<?php echo $id; ?>"></td> <td><input type="submit" name="Submit" value="Submit"> <input type="reset" name="Submit2" value="Reset"></td> </tr> </table> </td> </form> </tr> </table> Link to comment https://forums.phpfreaks.com/topic/142793-fetch-array-problem/ Share on other sites More sharing options...
gevans Posted January 28, 2009 Share Posted January 28, 2009 Use [ code] [/ code] tags also add this.... $result=mysql_query($sql) or die(mysql_error()); Link to comment https://forums.phpfreaks.com/topic/142793-fetch-array-problem/#findComment-748440 Share on other sites More sharing options...
Foster1984 Posted January 28, 2009 Author Share Posted January 28, 2009 Use [ code] [/ code] tags also add this.... $result=mysql_query($sql) or die(mysql_error()); Im unsure what you mean? Link to comment https://forums.phpfreaks.com/topic/142793-fetch-array-problem/#findComment-748444 Share on other sites More sharing options...
gevans Posted January 28, 2009 Share Posted January 28, 2009 Change these two lines; $sql="SELECT * FROM $tbl_name WHERE id='$id'"; $result=mysql_query($sql); to this $sql="SELECT * FROM $tbl_name WHERE id='$id'"; $result=mysql_query($sql) or die(mysql_error()); Link to comment https://forums.phpfreaks.com/topic/142793-fetch-array-problem/#findComment-748447 Share on other sites More sharing options...
void Posted January 28, 2009 Share Posted January 28, 2009 table `forum_question` probably isn't there. Link to comment https://forums.phpfreaks.com/topic/142793-fetch-array-problem/#findComment-748449 Share on other sites More sharing options...
Adam Posted January 28, 2009 Share Posted January 28, 2009 For each of the 3 problems, look for use of the "mysql_query()" function and add: or die(mysql_error()); ... to the end. For example: $result=mysql_query($sql) or die(mysql_error()); This will output an error message for each which should help you to identify the problem. Adam Link to comment https://forums.phpfreaks.com/topic/142793-fetch-array-problem/#findComment-748452 Share on other sites More sharing options...
gevans Posted January 28, 2009 Share Posted January 28, 2009 @void It won't be the table name as he gets the same error on a different line with a different table in the query. And the insert queries are working. Link to comment https://forums.phpfreaks.com/topic/142793-fetch-array-problem/#findComment-748454 Share on other sites More sharing options...
Foster1984 Posted January 28, 2009 Author Share Posted January 28, 2009 @void It won't be the table name as he gets the same error on a different line with a different table in the query. And the insert queries are working. Hey im getting the following error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id']; ?>'' at line 1 Link to comment https://forums.phpfreaks.com/topic/142793-fetch-array-problem/#findComment-748458 Share on other sites More sharing options...
gevans Posted January 28, 2009 Share Posted January 28, 2009 OK, now change it to this; $sql="SELECT * FROM $tbl_name WHERE id='$id'"; echo $sql.'<br />'; $result=mysql_query($sql) or die(mysql_error()); Then we'll see the query followed by the error. Link to comment https://forums.phpfreaks.com/topic/142793-fetch-array-problem/#findComment-748471 Share on other sites More sharing options...
Foster1984 Posted January 28, 2009 Author Share Posted January 28, 2009 OK, now change it to this; $sql="SELECT * FROM $tbl_name WHERE id='$id'"; echo $sql.'<br />'; $result=mysql_query($sql) or die(mysql_error()); Then we'll see the query followed by the error. The error is now: SELECT * FROM forum_question WHERE id='' You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id']; ?>'' at line 1 Link to comment https://forums.phpfreaks.com/topic/142793-fetch-array-problem/#findComment-748479 Share on other sites More sharing options...
gevans Posted January 28, 2009 Share Posted January 28, 2009 There's your problem SELECT * FROM forum_question WHERE id='' You'r not passing and id variable. When you do this; $id=$_GET['id']; check if it's empty, and if so don't run the queries Link to comment https://forums.phpfreaks.com/topic/142793-fetch-array-problem/#findComment-748481 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.