Возможный дубликат:
Ошибка PHP: mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, boolean
Это код, который у меня есть в файле product.php, каждый раз, когда я нажимаю на продукт с домашней страницы, он вызывает предупреждение ниже.
if (isset($_GET['ID'])){ $product_id = $_GET['ID']; $query = "SELECT Name, Genre, Price, Year, Picture FROM Products"; $result = mysql_query($query); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<div><p>Name: $row[0]</p><p>Genre: $row[1]</p><p>Price: $row[2]</p><p>Year: $row[3]</p></div>"; } echo "<div><a href=\"cart.php?action=add&product=$product_id\">add to basket</a></div>"; }
и я получаю предупреждение:
Предупреждение: mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, boolean задан в /Applications/XAMPP/xamppfiles/htdocs/cart/product.php в строке 12
Year
– зарезервированное слово mysql, которое вы должны избегать, используя обратные ключи “
$query = "SELECT Name, Genre, Price, `Year`, Picture FROM Products";
вы должны использовать некоторую проверку ошибок mysql, как показано ниже
$result = mysql_query($query) or trigger_error(mysql_error());
@Click уже указал вашу ошибку.
В общем, хотя – вы не делаете никаких проверок ошибок в своем запросе, поэтому неудивительно, что вы не получаете никакой полезной информации при сбое запроса. Как это сделать, описано в руководстве по mysql_query()
или в этом справочном вопросе.
Пример:
$result = mysql_query($query); if (!$result) { trigger_error("SQL error:".mysql_error()); die(); }