gpt4 book ai didi

php - 如何使用 PHP 在 mysql 或 pdo 中显示 ALTER 语句的结果?

转载 作者:行者123 更新时间:2023-11-28 23:16:37 24 4
gpt4 key购买 nike

当我在命令行上运行查询时,我得到类似这样的结果:

Query OK, 0 rows affected (0.23 sec)
Records: 0 Duplicates: 0 Warnings: 0

有没有办法使用PHP PDO获取上述信息?

最佳答案

没有简单的方法,因为此信息是由 mysql_info() C API 调用返回的(这是 C API,不是几年前在 php 中弃用的 mysql API,尽管它确实实现了相同的调用),它没有在 PDO 中实现,因为过于特定于供应商。

您可以使用 PDOStatement::rowCount()返回受影响的行数或匹配的行数。但是,该方法返回的值取决于您如何配置与 mysql 的连接:

如果您提供 PDO::MYSQL_ATTR_FOUND_ROWS 作为配置选项,则 rowCount() 返回匹配的行:

$connection = new PDO($dsn, $user, $pass, array(PDO::MYSQL_ATTR_FOUND_ROWS => true));

如果您省略此选项,则 rowCount() 会返回受影响的行。因此,没有简单的方法可以在单个连接中获取这两种信息。

要获得警告的数量,您可以发出 show warnings sql 语句并循环遍历其结果集并计算结果集中的警告(或者可能是注释)。 show warnings 结果也包括错误和注释,这就是您可能需要过滤列表的原因。

我不知道您如何获得最后一条语句的重复次数。

mysqli

如果您使用 mysqli 而不是 PDO,那么您可以使用 mysqli_info()调用以获取您要查找的数据。

关于php - 如何使用 PHP 在 mysql 或 pdo 中显示 ALTER 语句的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43589684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com