非常简单的问题,但我似乎无法找到有效的解决方案。我有一个包含行id
,user
,message
和time
的数据库。我目前只有一行,但我希望能够打印所有行。
$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。
答案 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教程
它更安全,更快速,即使对于更大的项目也更容易开发。