BoriHagen
@BoriHagen

Почему sql запрос возвращает одно значение?

Почему возвращается только один элемент массива, хотя в БД куча таблиц:

header('Content-Type: text/html; charset=utf-8', true);

$sdd_db_host='localhost';
$sdd_db_name='DB';
$sdd_db_user='user';
$sdd_db_pass='pass';

$dbh = mysql_connect($sdd_db_host, $sdd_db_user, $sdd_db_pass) or die("Не могу соединиться с MySQL.");
mysql_select_db($sdd_db_name) or die("Не могу подключиться к базе.");
mysql_query('SET NAMES utf8');
print_r(mysql_fetch_array(mysql_query("SHOW TABLES IN `DB`")));


При выполнении этого же запроса в phpMyAdmin возвращает все таблицы.
  • Вопрос задан
  • 92 просмотра
Решения вопроса 2
Melkij
@Melkij
PostgreSQL DBA
Потому что прочитайте описание mysql_fetch_array.
Попутно обратите внимание, что весь целиком модуль функций mysql_* давным-давно удалён.
Ответ написан
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
Согласно документации Вы должны выбирать результаты запроса в цикле:

$result = mysql_query("SHOW TABLES IN `DB`");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    print_r($row);
}

mysql_free_result($result);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы