6

我是 PHP 新手,我正在尝试使用 PHP 构建网站。我有 localhost 来测试结果,并且我已经在网站上安装了 phpmyadmin。

我现在要做的是从数据库“门户”中列出我的表“属性”的内容,并用结果填充一个表。

我正在使用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>';
4

6 回答 6

4

你的查询是错误的,所以之后

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

$query 是假的。这就是为什么,你得到错误。

正确的 SQL 查询是:

SELECT * FROM portal.property

如果需要指定数据库名称。另外,在做之前:

while ($row = mysqli_fetch_array($query))

您应该检查 $query 是否存在

if(!empty($query) {
while ($row = mysqli_fetch_array($query)) {
...
于 2012-10-24T16:42:02.627 回答
2

它应该是

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

或者干脆使用

$sqlCommand = "SELECT * FROM property";
于 2012-10-24T16:41:36.947 回答
2

用这个替换你的查询。确保您之前已添加此行。

$db = mysql_select_db('portal');

$sqlCommand = "SELECT * FROM property"; 
于 2012-10-24T16:41:52.093 回答
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.....
于 2012-10-24T16:39:47.343 回答
1

你的 SQL 语句

SELECT * property FROM portal

不是正确的 sql,因此查询不会被执行。尝试删除该词 property以获得一些结果。

于 2012-10-24T16:40:25.727 回答
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");
于 2012-10-24T16:43:31.437 回答