Возможный дубликат:
mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, boolean задан в select
Я получаю сообщение ниже, когда запускаю этот скрипт:
Предупреждение: mysql_fetch_row () ожидает, что параметр 1 будет ресурсом, строка указана в /var/www/html/toolkit/routing.php в строке 12
Я выполнил запрос в консоли mysql, и он печатает правильную строку. Не уверен, почему я не могу его показать в php?
routing.php страница:
<?php error_reporting(E_ALL); ////error_reporting(0); ini_set('display_errors', 'On'); include("db/sbc_config.php"); include("db/mysql.class.php"); $db = new MySQL(true, DB_DATABASE_ROUTING, DB_SERVER, DB_USER , DB_PASS); if ($db->Error()) $db->Kill(); $searchroute = "SELECT * FROM destination_route as d WHERE d.destPrefix='2146811'"; $result = mysql_fetch_row($searchroute); echo $result; ?>
sbc_config.php:
<?php //database server define('DB_SERVER', "10.10.1.146"); //database login name" define('DB_USER', "user"); //database login password define('DB_PASS', "pasword"); //database names define('DB_DATABASE_ROUTING', "routing"); //smart to define your table names also define('TABLE_DESTINATION_ROUTE', "destination_route"); ?>
mysql_fetch_row
принимает курсор и возвращает следующую строку в этом курсоре. Вы пытаетесь дать ему строку. Вам не хватает шага.
Сначала вам нужно выполнить этот запрос:
$cursor = mysql_query($searchroute); // for example $result = mysql_fetch_row($cursor);
Перед получением результатов вы должны выполнить запрос:
$searchroute = "SELECT * ..."; $results = mysql_query($searchroute); $row = mysql_fetch_row($results);
mysql_fetch_row должен вызываться после mysql_query, вы не можете передать запрос в строку выборки – см. Руководство по PHP
$db = new MySQL(true, DB_DATABASE_ROUTING, DB_SERVER, DB_USER , DB_PASS);
это должно быть MySQLi? Функции mysql _ * () не имеют интерфейса OOP. Вы будете мириться с вызовами mysqli и mysql, которые не поддерживаются. Они полностью независимы друг от друга внутри, а дескриптор db или результат из одного не могут использоваться в другом.