MySQLi打印行

时间:2014-01-09 12:43:08

标签: php mysql mysqli

非常简单的问题,但我似乎无法找到有效的解决方案。我有一个包含行idusermessagetime的数据库。我目前只有一行,但我希望能够打印所有行。

$query = "SELECT * FROM 'wisp_posts'";
$result = mysqli_query($con, $query);

while ($row = mysqli_fetch_array($result)) {
    echo $row['user'];
}

我得到的错误是:

  

警告:mysqli_fetch_array()期望参数1为mysqli_result,   给定布尔值

我知道这意味着它返回False。

5 个答案:

答案 0 :(得分:3)

您必须删除单引号'并将其替换为反引号`(可能是可选的)

您应该将查询编写为:

$query = "SELECT * FROM `wisp_posts`";

或更简单:

$query = "SELECT * FROM wisp_posts";

答案 1 :(得分:0)

这表示您的查询中有错误,请查看:http://de1.php.net/mysqli_query

您可以使用此方法读取错误:http://www.php.net/manual/de/mysqli.error.php

答案 2 :(得分:0)

您有SQL错误导致报价。试试这个请求:

SELECT * FROM wisp_posts

答案 3 :(得分:0)

首先从查询中删除引号并尝试:

$query = "SELECT * FROM wisp_posts";
$result = mysqli_query($con, $query);

while ($row = mysqli_fetch_array($result)) {
  echo $row[1];
}

答案 4 :(得分:0)

您不需要在表名下使用引号:

SELECT * FROM wisp_posts

此外,如果您是PHP和MySQL的新手,您最好学习PDO对象,这样您就不必在几个月内重写代码: PDO教程

它更安全,更快速,即使对于更大的项目也更容易开发。