mysql_list_tables - PullRequest
       3

mysql_list_tables

0 голосов
/ 08 июня 2011

У меня есть скрипт в Kohana, который прекрасно работает на PHP 5.2.11. Я вынул строку для mysql_select_tables, используя mysql_query. Когда я помещаю его на сервер php 5.3, я получаю следующие ошибки:

Предупреждающее сообщение

Обнаружена ошибка, которая помешала загрузке этой страницы. Если проблема не устранена, обратитесь к администратору сайта. система / библиотеки / драйверы / база данных / Mysql.php [483]: mysql_data_seek () ожидает, что параметр 2 будет длинным, задана строка Трассировка стека

система / библиотеки / драйверы / база данных / Mysql.php [483]: mysql_data_seek (идентификатор ресурса № 39, mysql_fetch_array) system / library / drivers / Database.php [558]: Mysql_Result-> seek (mysql_fetch_array) application / views / right_menu.php [33]: Database_Result-> offsetGet (mysql_fetch_array) system / library / Controller.php [74]: include (application / views / right_menu.php)

Интересно, это отдельная проблема, касающаяся php 5.2 и 5.3, или результат замены mysql_list_tables на mysql_query («SHOW TABLES ...»)? Кажется, это проблема со строкой mysql_fetch_array, отправляемой mysql_data_seek для второго параметра вместо long, хотя это работает в 5.2. Спасибо.

1 Ответ

0 голосов
/ 08 июня 2011

Следующая функция устарела в 5.3. Другие альтернативы см. В руководстве http://us2.php.net/manual/en/function.mysql-list-tables.php

В соответствии с руководством по php " Эта функция устарела. Предпочтительно использовать mysql_query () для выдачи SQL SHOW TABLES [FROM db_name] [LIKE 'pattern'] вместо "

...