Я новичок в 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.....