Intereting Posts
Как добавить разрыв строки в середине точки, разделенной пробелами Найти соответствующие скобки, используя регулярное выражение локализовать порядковые номера Преобразование JPG / PNG в формат SVG с использованием PHP MYSQL UNION ORDER BY Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполняется Установка ожидающего тона для обработки функции agi Установка модуля PHP pcntl переменные сеанса, потерянные между страницами или использующие одинаковые переменные Как отображать информацию, если значение тега равно X Почему я не могу получить данные JSON, опубликованные с использованием AJAX в моем PHP-файле? Лучшие методы очистки взломанного сайта без чистой версии? Как я могу получить перечисление возможных значений в базе данных MySQL? PHP переименовывает файлы из CSV Zend Framework 2 устанавливает пользовательский макет и задает проблему

почему mysql_fetch_array () ожидает, что параметр 1 будет ресурсом? почему ресурс не является параметром 1?

Предупреждение: mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, строка указана в C: \ xampp \ htdocs \ test \ index.php в строке 19

<?php $con = mysql_connect('localhost'); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("schedule", $con); $sql = "SELECT * FROM classes LIMIT 0,50\n"; mysql_query($sql); IF (!$sql) { ECHO 'broken'; }; while($row = mysql_fetch_array($sql, MYSQL_BOTH)) { echo $row['language'] . " " . $row['level']; echo "<br />"; } mysql_close($con); ?> 

Зачем? запрос работает в phpmyadmin

Ваш параметр для функции mysql_fetch_array () – это строка оператора SQL. Вот что говорит ваше предупреждение. Вы должны сначала использовать $ res = mysql_query ($ sql); и передать $ res как параметр в mysql_fetch_array ()

Вход в mysql_fetch_Array – это ресурс, который также является возвращаемым значением из mysql_query. Если вы передадите значение $ sql в mysql_query (), он не будет изменять параметр, поскольку он передается по значению. Вы должны назначить возвращаемое значение другой переменной, которая будет желаемым ресурсом.

  $result = mysql_query($sql); 

Затем передайте параметр result в mysql_fetch_array:

  $row = mysql_fetch_array($result, MYSQL_BOTH) 

Еще одно важное замечание. Как вы можете видеть во всех связанных потоках, прочитайте красную рамку в php.net для этих функций.

Использование этого расширения не рекомендуется. Вместо этого следует использовать расширение MySQLi или PDO_MySQL. См. Также MySQL: выбирая руководство по API и связанные с ним FAQ для получения дополнительной информации. Альтернативы этой функции включают:

mysqli_query () PDO :: query ()

Изменить: mysql_query ($ sql); Кому: $sql = mysql_query($sql);

Процитировано из PHP.net о mysql_query() :

Для SELECT, SHOW, DESCRIBE, EXPLAIN и других операторов, возвращающих набор результатов, mysql_query () возвращает ресурс с успехом или FALSE при ошибке.

Для других типов операторов SQL INSERT, UPDATE, DELETE, DROP и т. Д. Mysql_query () возвращает TRUE при успешном завершении или FALSE при ошибке.

В вашем случае ресурс возвращается, но вы забыли присвоить его чему-либо.

Измените mysql_query($sql) на $resource = mysql_query($sql) .

Полная документация прямо здесь: http://php.net/manual/en/function.mysql-query.php