mysql_fetch_array() expects parameter 1 to be resource

  • Сергей11 месяцев назад
    При выводе информации из таблицы MySQL выдает ошибку:
    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given


    Вот мой код:

    $host = "localhost";
    $username = "root";
    $password = "";
    $db_name = "test";

    mysql_connect($host, $username, $password) or die("Ошибка подключения");
    mysql_select_db($db_name) or die("Ошибка выбора БД");

    $sql = "SELECT `tags`.`name`, `tags`.`s` as s, COUNT(`questions_tags`.`tags_id`) AS `posts_count` FROM `questions_tags` LEFT JOIN `tags` ON `questions_tags`.`tags_id`=`tags`.`id` GROUP BY `tags`.`id`";
    $result = mysql_query($sql);

    while($row = mysql_fetch_array($result))
    {
    echo $row["name"];
    }
    Ответов: 1
  • Simple11 месяцев назад
    Эта ошибка сообщает о том, что предыдущая функция, которая выполнил SQL запрос, окончилась неудачей, но при этом о причине неудачи никакой информации не несёт. Для отображения ошибки, нужно прописать что-то типа:

    if ($result === false) {
    echo mysql_error();
    }


    При использовании mysql_query(), всегда необходимо проверять результат ее работы. И если функция выдаст не корректный ответ, то в первую очередь необходимо, получить от mysql_error() сообщение об ошибке.

    В вашем случае причину ошибки можно обнаружить:

    $host = "localhost";
    $username = "root";
    $password = "";
    $db_name = "test";

    mysql_connect($host, $username, $password) or die("Ошибка подключения");
    mysql_select_db($db_name) or die("Ошибка выбора БД");

    $sql = "SELECT `tags`.`name`, `tags`.`s` as s, COUNT(`questions_tags`.`tags_id`) AS `posts_count` FROM `questions_tags` LEFT JOIN `tags` ON `questions_tags`.`tags_id`=`tags`.`id` GROUP BY `tags`.`id`";
    $result = mysql_query($sql);

    if ($result === true) {

    while($row = mysql_fetch_array($result))
    {
    echo $row["name"];
    }

    }else {
    echo mysql_error();
    }
Ваш ответ:
  • bold
  • italic
  • underline
  • strike
  • Add link
  • Add image
  • Blockquote
  • Align left
  • Align center
  • Align right
  • Code
×
Используя сайт, вы подтверждаете, что вы прочитали и поняли политику о куки, политику конфиденциальности и наше пользовательское соглашение.