Intereting Posts
Объект Persist с двумя иностранными идентичностями в доктрине Запуск AMP (apache mysql php) на Android Добавьте заголовок к каждому запросу с использованием .htaccess Функция PHP генерирует UL LI Сортировка столбца даты в CGridView с помощью CArrayDataProvider Использовать класс базы данных PDO без создания нового подключения каждый раз? PDO Несколько вложений SQLite с подзапросом Сервер Apache 2 на ubuntu не может разобрать php-код внутри html-файла Может ли php обнаруживать, включен ли javascript или нет? Paypal notify_url и return_url. Получение переменных без IPN с использованием PHP Как преобразовать нулевые значения в пустую строку в php-массиве? Как создать идентификаторы разметки для динамических div? PHP: Завершить и запустить новый <tr> после 6 строк Блокирование спама комментариев без использования captcha Какой самый лучший и простой способ заполнить раскрывающийся список, основанный на другом выпадающем меню

mysqli_query, mysqli_fetch_array и while loop

Я новичок в PHP, и я пытаюсь создать веб-сайт с помощью PHP. У меня есть localhost для тестирования результата, и у меня есть phpmyadmin, уже установленный на веб-сайте.

То, что я пытаюсь сделать сейчас, – это перечислить содержимое моей таблицы «свойство» из базы данных «портал» и заполнить таблицу результатами.

Я использую mysqli_query , mysqli_fetch_array и while loop. Я получаю следующую ошибку:

Предупреждение: mysqli_fetch_array () ожидает, что параметр 1 будет mysqli_result, boolean задан в C: \ xampp \ htdocs \ falcon \ portal \ forms \ edit listing.php в строке 15

 session_start(); require_once "connect_to_mysql.php"; // where i store username and password to access my db. $sqlCommand = "SELECT * property FROM portal"; // dbname: portal - table: propery $query = mysqli_query($myConnection, $sqlCommand); $Displayproperty = ''; while ($row = mysqli_fetch_array($query)) $id = $row["pid"]; $title = $row["ptitle"]; $area = $row["parea"]; $city = $row["pcity"]; $Displayproperty .= '<table width="500" border="0" cellspacing="0" cellpadding="1"> <tr> <td>' . $id . '</td> <td>' . $title . '</td> <td>' . $area . '</td> <td>' . $city . '</td> <td><a href="forms.php?pid=' . $id . '">Upload images</a><br /></td> </tr> </table>'; 

Замените свой запрос на это. Убедитесь, что вы добавили эту строку раньше.

 $db = mysql_select_db('portal'); $sqlCommand = "SELECT * FROM property"; 

Ваш запрос неверен, поэтому после

 $query = mysqli_query($myConnection, $sqlCommand); 

$ query – false. Вот почему вы получаете ошибку.

Правильный SQL-запрос:

 SELECT * FROM portal.property 

Если вам нужно указать имя базы данных. Кроме того, перед выполнением:

 while ($row = mysqli_fetch_array($query)) 

Вы должны проверить, что существует $ query

 if(!empty($query) { while ($row = mysqli_fetch_array($query)) { ... 

Должен быть

 $sqlCommand = "SELECT * FROM portal.property"; /* Database_Name.Table_Name */ 

Или просто используйте

 $sqlCommand = "SELECT * FROM property"; 

Ваш оператор SQL

 SELECT * property FROM portal 

неверный sql, поэтому запрос не выполняется. Попробуйте удалить property слова, чтобы получить некоторые результаты.

Вам необходимо сначала подключиться к порталу БД, используя:

 $myConnection = new mysqli("localhost", "user", "password", "database"); 

Затем выполните:

 $mysqli->query("SELECT * FROM property"); // This will run the query on portal database. 

Если вы хотите просто запросить таблицу свойств портала, вы можете использовать:

 $mysqli->query("SELECT * FROM portal.property"); 

или

 mysqli_query("SELECT * FROM portal.property"); 

Проблема заключается в синтаксической ошибке в вашей инструкции SQL, которая вызывает mysqli_query() для возврата false.

SELECT * property FROM portal недопустимо SQL.

Вы всегда должны проверить, чтобы mysqli_query возвращал действительный результат с помощью такой конструкции, как:

 $result = mysqli_query($myConnection, $sqlCommand); if(! $result) { die("SQL Error: " . mysqli_error($myConnection)); } // use result here.....