我是PHP的新手,我正在尝试使用PHP构建一个网站。我有localhost用于测试结果,我已经在网站上安装了phpmyadmin。
我现在要做的是从数据库“portal”列出我的表“property”的内容,并在表格中填入结果。
我正在使用mysqli_query
,mysqli_fetch_array
和while循环。我收到以下错误:
警告:mysqli_fetch_array()期望参数1为mysqli_result, 在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>';
答案 0 :(得分:4)
您的查询错误,所以
之后$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)) {
...
答案 1 :(得分:2)
应该是
$sqlCommand = "SELECT * FROM portal.property"; /* Database_Name.Table_Name */
或者只是使用
$sqlCommand = "SELECT * FROM property";
答案 2 :(得分:2)
用此替换您的查询。确保之前已添加此行。
$db = mysql_select_db('portal');
$sqlCommand = "SELECT * FROM property";
答案 3 :(得分:1)
问题是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.....
答案 4 :(得分:1)
您的SQL语句
SELECT * property FROM portal
是不正确的sql,因此查询不会被执行。尝试删除单词property
以获得一些结果。
答案 5 :(得分:1)
您需要先使用以下方式连接到数据库门户网站:
$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");