Вот еще одно преобразование MySql в MySqli, с которым я сталкиваюсь.Преобразование функции из MySql в MySqli
Исходный код:
define('DB_DEFAULT_FLAG', MYSQL_ASSOC);
function resource_get($resource = NULL,$flag = DB_DEFAULT_FLAG) {
if(!$resource) $resource = $this->last_resource;
return mysql_fetch_array($resource,$flag);
}
Новый код:
define('DB_DEFAULT_FLAG', MYSQL_ASSOC);
function resource_get($resource = NULL, $flag = DB_DEFAULT_FLAG) {
if (!$resource)
$resource = $this -> last_resource;//print_r($resource);
$return = mysqli_fetch_array($resource, $flag) or print("No workie!");
var_dump($return);
return $return;
}
В этом случае вызов функции неудачен с ответом «Нет Workie» и значение NULL в $ возврата переменная. Когда я выполняю оператор print_r ($ resource), данные кажутся правильными. Что я делаю не так? Похоже, что инструкция mysqli_fetch_array терпит неудачу, но я не знаю, почему. Любые указатели? Либо mysqli_fetch_array, либо mysql_fetch_array, по-видимому, должен возвращать массив.
Вот пример того, что возвращает print_r ($ ресурса):
Array ([0] => Array ([category] => American Swords [graphics] => 1 [user] => bquinn [i] => 1 [i_categories] => 133 [i_users] => 13 [i_users_modified] => 1 [date_created] => 1266697482 [date_modified] => 1398983308 [active] => 1 [sold] => 0 [filename] => bq203.htm [code] => BQ203 [name] => American Militia-style NCO Sword [cost] => 325.00 [price] => 425.00 [description] => Interesting fluted aluminum handle with gilded brass pommel and crossguard. Blade of lenticular cross-section with no nicks, age-discolored in spots. Showing no maker's markings. Leather scabbard in good condition with brass throat and acorn-finialed chape. Overall 37 5/8", blade 28". [weight] => 5 [height] => 6 [width] => 6 [length] => 48 [keywords] => American sword eagle head sword militia sword american saber
Добавить отчет об ошибках в начало вашего файла (ов) сразу после открытия ' Php' tag ' error_reporting (E_ALL); ini_set ('display_errors', 1); 'посмотрите, не даст ли что-либо. –
являются флагом обоих флагов 'MYSQL_ASSOC' для nysql и nysqli одинаковыми? – Ghost
убедитесь, что ресурс есть, я уверен, (поскольку мы не видим ошибок), что ваше соединение плохое. –