如果命中 xdebug 断点,则mysqli_error不起作用

mysqli_error doesn't work if xdebug breakpoint is hit

提问人:AS7K 提问时间:9/19/2017 最后编辑:JeffersonAS7K 更新时间:11/17/2023 访问量:108

问:

当我尝试在 xdebug 会话期间使用时,我遇到断点,总是返回 “”(空字符串)。 如果我没有命中断点,相同的 PHP 代码将输出错误。mysqli_errormysqli_error

$qry = "SELECT * FROM GOOOOOOO ";
    $result = mysqli_query($mysql_conn2,$qry);
    if(!$result)
    {
        echo "error: " . mysqli_error($mysql_conn2);
        die;
    }

没有断点命中的输出:

错误:database.gooooooo 不存在

命中断点的输出:

错误:

有谁知道是什么原因造成的?至少可以说,使用 xdebug 进行开发有点烦人。

我正在运行php 5.5.19和mysql 5.6.36

php mysqli xdebug

评论

0赞 Thielicious 9/19/2017
它查找名为 GOOOOOOO 的数据库,但您希望从具有此名称的表中选择记录。您必须首先选择一个数据库作为参数才能进行查询,或者mysql_conn2中有什么?
0赞 AS7K 9/19/2017
我在创建连接时选择数据库。同样,此查询从 mysql 客户端和此 php 代码运行良好......除非在执行过程中遇到断点。断点甚至不必位于同一文件中。
0赞 degr 1/31/2019
同样的问题,mysqli_error返回空字符串

答:

0赞 Vitor Lins 11/17/2023 #1

把这个放在你的php.ini上:

xdebug.force_display_errors = 1
xdebug.force_error_reporting = 1
xdebug.scream = 1
xdebug.show_error_trace = 1
xdebug.show_exception_trace = 1