当我们告诉 PDO 不要这样做时,为什么它会生成警告?

2023-12-02

Problem

我们告诉 PDO 将每个问题包装到异常中。 在某些情况下,它会生成一些警告,然后才抛出异常。

Why它能做到吗?

重复?

SO 上没有关于它的正确答案。最后一个问题是MySQL 上的 PHP PDO 异常 + 警告消失了?但人们只是将其标记为重复,而不是仔细回答。

接受的答案没有回答为什么这样做以及何时这样做。所以我研究了一下并回答。


这是因为 PDO 可以使用 mysqlnd 驱动程序,该驱动程序不遵守任何 PDO 的“将问题转换为扩展”策略。

看看mysqlnd 驱动程序的来源.

我们清楚地看到有直接调用php_error_docref.

示例之一,如下所示上一个问题通过这些行解释:https://github.com/php/php-src/blob/PHP-5.5.31/ext/mysqlnd/mysqlnd_wireprotocol.c#L35:L61

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当我们告诉 PDO 不要这样做时,为什么它会生成警告? 的相关文章

  • 如何将 javascript 倒计时器与服务器同步

    我有一个拍卖网站 有一个 JavaScript 计时器倒计时 由于某种原因 15 20 分钟后 该计时器比实际时间滞后 20 30 秒 在 1 小时的过程中 JavaScript 倒计时器可能会关闭至少 2 3 分钟 这让用户感到困惑 因为
  • PHP 字节数组转 Base64(来自 Mssql 的字节数组)

    我在表上使用 Mssql 和图像 例如 0xFFD8FFE000104A46494 我觉得是这样的字节数组 我想用 PHP 将其更改为图像 我试试这个 img src 但图像不显示 代码演示 http sandbox onlinephpfu
  • 如何检查 id 是否已存在 - codeigniter

    我正在尝试检查数据库中的 id 是否已存在 如果不存在则仅插入该 id 而不是其他存在的 id 我尝试执行一个 where 语句来检查数据库中是否存在它们的 id 但即使它们是新信息 它也不会将其插入数据库中 我在这里很迷路 任何指导将不胜
  • PHP 类中的命名空间和全局变量问题

    我陷入了这种困惑 我不明白为什么我的 HelperClass 下的全局 error 返回空 我可以验证 class gt error 确实之前已填充了数据 在这种情况下 命名空间是否存在某种我不知道的问题 请给我一些指点 以下是一些相关的代
  • 联系表 7 根据用户选择立即发送给多个联系人

    您好 我正在 WordPress 联系表单 7 中创建联系表单 如果用户选择 全部 我想立即向多个收件人发送电子邮件 我看过这个 但似乎没有记录您是否可以一次发送给多个收件人http contactform7 com selectable
  • php 测试字符串是否包含三个字符串之一?

    实现以下目标的最佳方法是什么 我有一个 img变量包含例如myimage left jgp someimage center jpg or img right jpg 最好的测试方法是什么 left right or center文件名并提
  • 正则表达式匹配带或不带特殊/重音字符的字符串?

    是否有正则表达式可以匹配包含或不包含特殊字符的特定字符串 可以这么说 特殊字符不敏感 Like c ra将匹配cera 反之亦然 有任何想法吗 编辑 我想匹配带有或不带有特殊 重音字符的特定字符串 不仅仅是任何字符串 字符 测试示例 cli
  • Laravel“未定义方法 Illuminate\Database\Query\Builder::attach()”

    我正在尝试在 Laravel 4 中的数据库播种期间关联相关模型 根据文档here http laravel com docs eloquent inserting related models 我可以这样做 user gt roles g
  • 字符编码失败,为什么\xBD在PHP + HTML中显示不正确

    我只是想更好地理解字符编码 所以我做了一些测试 我有一个保存为 UTF 8 的 PHP 文件 如下所示 页面本身
  • 数据库字段中的空白不会被trim()删除

    我在 MySQL 的文本字段的段落开头有一些空格 Using trim var text field 在 PHP 中或TRIM text field MySQL 中的语句绝对不执行任何操作 这个空白可能是什么以及如何通过代码删除它 如果我进
  • Nginx 与 phpmyadmin 登录后重定向错误

    我正在使用 nginx 设置 phpMyAdmin 我可以访问 phpMyAdminhttp localhost phpmyadmin http localhost phpmyadmin 但是 当我登录时 URL 被重定向到http loc
  • 在 PHP 页面中嵌入 svn 修订号的简单方法?

    注意到这个页面的右下角有 SVN 修订 ID 了吗 我假设这是动态的 我很乐意将其添加到我的一些网站中 就像源代码中的注释一样 以确保代码推送顺利进行 注意 您还可以假设相关站点的工作目录是相关存储库的 svn checkout Edit
  • 如何在服务器(无 GUI)上呈现网页以进行打印?

    我正在尝试使用 PHP 脚本将页面实用地打印到办公室打印机 这是我到目前为止所得到的 我在服务器上安装了一台打印机 我可以通过命令行的打印命令使用 PHP 向其发送作业 我还可以使用 PHP 脚本编写纯文本文件 然后将它们添加到打印提示中
  • PHP PDO:将数据作为对象获取 - 在调用 __construct 之前分配的属性。它是否正确?

    完整的问题应该是 这是正确的还是我不能指望的错误 为什么这是正确的行为 我一直在更多地使用 PDO 特别是直接将数据提取到对象中 在这样做的过程中我发现了这一点 如果我直接将数据获取到像这样的对象中 STH DBH gt prepare S
  • (mysql, php) 如何在插入数据之前获取auto_increment字段值?

    我正在将图像文件上传到存储服务器 在上传之前 我应该编写文件名 其中包含自动增量值 例如 12345 filename jpg 在插入数据库之前如何获取自动增量值 我只看到一种解决方案 插入空行 获取其自增值 删除这一行 使用 p 1 中的
  • 一个模型中的多个表 - Laravel

    我的索引页使用数据库中的 3 个表 索引滑块 索引特征 页脚框 我使用一个控制器 IndexController php 并像这样调用三个模型 public function index return View make index gt
  • 使用 jQuery 将值发送到 $_GET

    我正在使用一个 PHP 脚本 该脚本正在通过 GET 等待两个值 我正在尝试使用 jQuery 传递这两个值 而这正是我不太擅长的地方 这是我得到的代码 有人能指出我正确的方向吗 谢谢 function xrate id rating aj
  • 将 1 添加到字段

    如何将以下 2 个查询变成 1 个查询 sql SELECT level FROM skills WHERE id id LIMIT 1 result db gt sql query sql level int db gt sql fetc
  • 将 IP 地址与 IPv6 块进行比较

    我使用 PHP 将用户 IP 地址与 IP 块列表进行比较 其中大多数是 IPv4 但其中一些是 IPv6 我从用户那里获得的 IP 地址始终与 IPv4 兼容 至少我是这么假设的 我将如何比较这个 这就是我现在正在使用的 function
  • 散列 hash_hmac 时,Convert.ToChar(0) 散列结果与 PHP 中的 chr(0) 不同的字符串

    我在 PHP 中有一个字符串 它被转换为字节数组并进行哈希处理 转换为字节数组的字符串如下所示 G 字符 0 便便 我需要 C 中的等效字节数组 这样我才能得到相同的哈希值 编辑 这是完整的问题 生成的哈希值不同 PHP api secre

随机推荐

  • 递归匿名函数 Matlab

    我知道这不是匿名函数的用途 但就像一个谜题一样 我尝试通过匿名函数创建递归函数 递归函数的原型显然就是阶乘函数 问题是很难区分大小写within匿名函数 到目前为止我所做的事情如下 f cn n f eval if n gt 1 f cn
  • VSCode |新窗口选择语言

    我错误地按下了 不要再显示这个 我怎样才能让 vscode 再次显示该选项 有一个设置可以启用 禁用该消息 Workbench gt Editor gt Untitled Hint 通过选择 不再显示 您禁用了该设置 将其设置为hidden
  • C++ 可变参数宏:如何检索参数值

    类中有很多实现类似的方法 只是方法的名称和参数列表不同 void function1 int a bool b mMember gt function1 a b void function2 double a string b mMembe
  • 从谷歌地图获取路线和地图上每2公里的点

    我知道 GPS 坐标我的起点和终点 现在我想知道这次旅行的行车路线 然后获取这条路线上每2公里的GPS坐标 我怎样才能用 php javascript 做到这一点 Thanks 添加的代码
  • html 输出中的特殊字符

    我希望直接打印像 这样的字符 但在源代码中 显示为 248 如果输出通过Html Encode 它不会呈现正确的字符 但是 248 在我的配置中
  • 从 Windows 注册表启动时启动应用程序时,返回 ClickOnce 版本不起作用

    我正在使用以下代码System Deployment返回我的 NET 3 5 C 应用程序的 ClickOnce 版本 public string version get System Reflection Assembly assembl
  • 如何用SQL导出全文文件?

    有将全文字段导入 导出为文件的简单方法 解决 加载为多行 的问题 尝试使用 SQLCOPY我只能将完整文件转换为完整表格 而不能转换为单个文本字段 因为 COPY 中的每一行都是原始的 解决了保存回问题 将完整的 XML 文件保存在文件系统
  • python:哪个文件更新以及更新了多少时间

    我正在尝试创建一个文件日期比较例程 我怀疑以下是一种相当笨拙的方法 我在查找有关 timedelta 的属性或方法或它们的名称的信息时遇到了一些困难 因此 我仅以天 分钟和秒来测量下面的日期时间差异 并且没有代表年份的列表项 任何替代方案的
  • 更改 Mac OS X 上的 docker 存储驱动程序

    我在 Mac OS X 上安装了 docker 工具箱 我需要将 docker 存储驱动程序从aufs to 设备映射器 因为aufs造成问题 我找到了docker官方文档并按照解释的方式尝试了here but DOCKER OPTS st
  • 我的 jQuery 无法与 IE11 配合使用

    所以我得到了三段代码来将东西加载到 div 中并做其他事情 但它不适用于 Internet Explorer 我检查了 IE11 控制台 这就是我得到的 SCRIPT5009 is undefined 这很奇怪 在其他所有浏览器中它都工作正
  • 以编程方式设置角度 5 ng-select 中的选定值

    我正在使用 angular5 ng select 组件 https github com ng select ng select并尝试设置选定值 以编程方式 当容器组件首次加载时 模型中设置的默认选择值 我没有找到它或的任何相关属性已选择对
  • configmap 更改不会自动反映在各个 pod 上

    apiVersion apps v1 for versions before 1 8 0 use apps v1beta1 kind Deployment metadata name consoleservice1 spec selecto
  • 如何在python中从ffmpeg流中提取视频和音频

    我想从 ffmpeg 流中获取单独的视频和单独的音频对象 python 为此 我在我的树莓派上运行它 ffmpeg f alsa thread queue size 1024 channels 1 i hw 2 0 thread queue
  • 当高度为 100% 时,IE 10 会出现显示表格 CSS 的 bug?

    我已经尝试了 3 天来避免在我的新响应式设计中使用表格 主要是因为每个人都说它们是邪恶的 另一方面 在对 SEO 和表格进行更多研究时 有些人甚至说这提高了他们的知名度 无论如何 div 和 HTML5 的语义要好得多 所以我真的很想让下面
  • Python地址下载

    下面的代码返回none 我该如何修复它 我正在使用Python 2 6 import urllib URL http download finance yahoo com d quotes csv s s f sl1t1v e csv sy
  • Objective C 方法签名可以指定枚举类型吗?

    VoiceName 是一个枚举 声明如下 enum VoiceName PAD RHYTHM PAD RHYTHM2 PAD RHYTHM3 PEEPERS ATMOSPHERE IMPULSE FAST PULSE HAIRYBALLS
  • Boost python 包装虚拟方法

    我正在使用 boost python 创建与 c 库的绑定 该库中的许多类都具有接受 iterator const iterator 类型作为参数的虚拟方法 我并不是特别想公开这些类型 但更愿意围绕这些虚拟方法创建一些包装器来接受适当的容器
  • webkit 上浮动 div 后“overflow:hidden”div 的边距行为

    我发现 float left div 后面的 overflow hidden div 的右侧边距加倍 可以使用以下代码进行测试
  • 如何获取 PyQt 中 QGroupbox 内存在的 Qcheckbox 的状态

    我的项目包含具有多个 QGroupbox 的 Qdialog 每个 GroupBox 包含一定数量的复选框 所有组框的复选框列表都是相同的 我没有太多声誉来加载图像 在这里 用户可以根据自己的需要选择复选框并按下 确定 按钮 按下 确定 按
  • 当我们告诉 PDO 不要这样做时,为什么它会生成警告?

    Problem 我们告诉 PDO 将每个问题包装到异常中 在某些情况下 它会生成一些警告 然后才抛出异常 Why它能做到吗 重复 SO 上没有关于它的正确答案 最后一个问题是MySQL 上的 PHP PDO 异常 警告消失了 但人们只是将其