php - 如何修复 PHP 请求结果而不是 mysqli_fetch_assoc 的 bool 值?

标签 php mysql

<分区>

我一直在开发我的聊天应用程序,并且可以很好地将它插入到 MySQL 中。我显然有错误的引擎。无论如何,它需要“mysqli_result”而不是“mysqli_fetch_assoc”。我知道这段代码很好,因为它在另一个页面上运行良好。

我已经尝试重新输入、复制工作代码并输入我的值,任何我能真正想到的...这是我的代码

$query='mysqli_query'($con, "SELECT * FROM chat ORDER by id ASC");
if ($query = true) {
while($row = mysqli_fetch_assoc($query)) {
    $username=$row["username"];
    $text=$row["text"];
    $time=date('G:i', strtotime($row["time"])); 

echo "<p>$time | $username: $text</p>";
}

我希望代码能正常工作,因为我从一段有效的代码中复制了它,但我却得到了这个,“ 警告:mysqli_fetch_assoc() 期望参数 1 为 mysqli_result,第 15 行/storage/ssd2/266/7895266/public_html/read.php 中给出的 bool 值 "

最佳答案

正如所指出的,删除函数调用周围的引号。

// Incorrect syntax
$query='mysqli_query'($con, "SELECT * FROM chat ORDER by id ASC");

// Correct
$query = mysqli_query($con, "SELECT * FROM chat ORDER by id ASC");

但是你还有另一个问题:

if ($query = true) {

应该是:

if ($query) {

甚至更好:

if ($query instanceof mysqli_result) {

使用比较而不是赋值。通过使用等号,您可以使 $query 始终评估为 true 并且 if 条件通过。比较应该检查非假值——特别是 mysqli_result 对象。

关于php - 如何修复 PHP 请求结果而不是 mysqli_fetch_assoc 的 bool 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53950483/

相关文章:

php - 如何仅在请求页面中设置 yii 必填字段而不是创建/更新?

php - 如何在不重复的情况下合并 2 个选择

php - 使用 PHP 将 JSON 信息发送到数据库?

mysql - mysqldump 抛出错误代码 (1054)

php - 使用 php 消费 rss feed 的利润 - 菜鸟需要帮助!

php - 输入类型 - 模式

php - Joomla 3.0 组件 JS 后端错误

mysql - 在 mysql 表中爆炸的字段

mysql - SQL 从最近的日期提取多个月的数据

php - Yii 框架,user.password 未定义