Возможный дубликат:
MySQL и PHP Параметр 1 как ресурс
Меня показывают в названии на моем сайте, и я не знаю, что это за ошибка, и я не знаю, как это исправить. Может кто-нибудь мне помочь?
Это файл add_answer.php:
<?php include("mysql_forum_test.php"); // Get value of id that sent from hidden field $id=$_POST['id']; // Find highest answer number. $sql="SELECT MAX(a_id) AS Maxa_id FROM $tbl_name WHERE question_id='$id'"; $result=mysql_query($sql); $rows=mysql_fetch_array($result); // add + 1 to highest answer number and keep it in variable name "$Max_id". if there no answer yet set it = 1 if ($rows) { $Max_id = $rows['Maxa_id']+1; } else { $Max_id = 1; } // get values that sent from form $a_name=$_POST['a_name']; $a_email=$_POST['a_email']; $a_answer=$_POST['a_answer']; $datetime=date("d/m/y H:i:s"); // create date and time // Insert answer $sql2="INSERT INTO $tbl_name(question_id, a_id, a_name, a_email, a_answer, a_datetime)VALUES('$id', '$Max_id', '$a_name', '$a_email', '$a_answer', '$datetime')"; $result2=mysql_query($sql2); if($result2){ echo "Successful<BR>"; echo "<a href='index.php?content=view_topic?id=".$id."'>View your answer</a>"; // If added new answer, add value +1 in reply column $tbl_name2="forum_question"; $sql3="UPDATE $tbl_name2 SET reply='$Max_id' WHERE id='$id'"; $result3=mysql_query($sql3); } else { echo "ERROR"; } mysql_close(); ?>
благодаря
В документации mysql_query
возвращает FALSE при ошибке с запросом. Из-за этого ваш аргумент mysql_fetch_array
является логическим. Используйте функцию mysql_error
чтобы узнать, что не так с запросом SELECT.
Например,
$result=mysql_query($sql) or die(mysql_error());
Я подозреваю, что на самом деле нет подключения к базе данных. Это означает, что mysql_query()
терпит неудачу и возвращает false
, что является bool, описанным в ошибке.
Посмотрите http://www.php.net/mysql_connect
В запросе какая-то ошибка.
Во-первых, я не вижу mysql_connect()
. Вероятно, он включен в файл. Убедитесь, что для соединения нет ошибки ( mysql_error()
после подключения).
Вы также можете проверить:
if (!mysql_query($sql)) { echo mysql_error(); }
Это покажет вам какую-либо ошибку в запросе.
Вы также должны изучить SQL Injection и DB Wrapper (я предлагаю PDO). PDO может быть настроен для исключения исключений из-за ошибок, поэтому вы обязательно узнаете о них.