PHP: mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, boolean given

Возможный дубликат:
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 может быть настроен для исключения исключений из-за ошибок, поэтому вы обязательно узнаете о них.