You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP或mysqli能否捕获MySQL控制台返回的SQL执行响应信息?

解决方法

你可以通过题目中提到的两个mysqli内置函数实现需求,两种适用场景分别如下:

仅需获取受影响的行数

使用mysqli_affected_rows(),该函数返回上一次写操作(INSERT/UPDATE/DELETE等)对应的受影响行数:

  • 匹配行不存在、无数据被修改时返回0
  • 成功匹配并修改n行时返回n
  • 执行出错时返回-1

面向过程写法示例(改用预处理避免SQL注入风险):

// 已提前通过mysqli_connect建立连接,连接变量为$conn
$DoNukePrefsDBC = "DELETE FROM `DB_DiaryOfAnApp`.`ACTVxCJAR` WHERE `REVxGUIDxREF` = ? LIMIT 1";
$stmt = mysqli_prepare($conn, $DoNukePrefsDBC);
mysqli_stmt_bind_param($stmt, "s", $IdxZero);
mysqli_stmt_execute($stmt);
$affected_rows = mysqli_affected_rows($conn);

// 后续可根据$affected_rows的值做自定义逻辑判断

面向对象写法对应调用属性:

$affected_rows = $conn->affected_rows;

需要获取完整的控制台风格响应信息

使用mysqli_info(),该函数会直接返回和MySQL控制台输出格式一致的执行详情字符串,就是你需要的Query OK, 0 rows affected (0.00 sec)这类内容。

面向过程写法示例:

// 执行SQL语句逻辑同上
mysqli_stmt_execute($stmt);
$exec_response = mysqli_info($conn);
// $exec_response变量中已经存储了完整的执行响应信息,可直接使用

面向对象写法对应调用属性:

$exec_response = $conn->info;

内容的提问来源于stack exchange,提问作者MountainMan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 18:06:04