Order by After Where 子句在 MySQLi PHP 中不起作用

Order by After Where clause not working in MySQLi PHP

提问人:Rohaan Alam 提问时间:11/18/2022 最后编辑:AkinaRohaan Alam 更新时间:11/20/2022 访问量:53

问:

Order By After Where is not return results 下面是代码和未运行代码的屏幕截图。

SELECT * from `SalesMessages` where `ThreadId`= ? ORDER BY `id` desc Limit 25;

但是,如果我删除绑定参数,它可以正常工作。

SELECT * from `SalesMessages` where `ThreadId`=63 ORDER BY `id` desc Limit 25;

下面是mySql的屏幕截图

MySQL查询和结果

这是我如何编写 MYSQLI 代码的


    global $conn;
    $arr = array();
    mysqli_set_charset( $conn, 'utf8'); // ALREADY TRIED COMMENTING THIS LINE
    $stmt = $conn->prepare($query);
    $stmt->bind_param('i', $ThreadId);
    try {
        if ($stmt->execute()) {
            $result = $stmt->get_result();
            while ($row = $result->fetch_assoc()) {
                ..SOME CODE..
            }
            if (count($arr) > 0)
                return $arr;
        } else {
            throw "QueryError";
        }
    } catch (Throwable $e) {
        print_r($e);
    }
}

这是表格的结构

数据库结构

我期待 PHP 代码中的 mysql 结果作为数组。

php mysql oop mysqli

评论

1赞 Akina 11/18/2022
检查。启用常规日志并查看MySQL接收的语句文本。$stmt->get_warnings();
0赞 Akina 11/18/2022
请不要上传代码/数据/错误的图片。
0赞 Akina 11/18/2022
提出一个好的结构化查询语言 (SQL) 问题的提示

答:

0赞 Rohaan Alam 11/20/2022 #1

这是连接错误家伙,它正在使用另一个没有记录的数据库。其他一切现在都很好。实际上,连接数据库中的表在必需的表中没有记录。