可能的 PDOException 错误(MySQL 5)?

2024-05-05

因此,我正在为我的网络应用程序设置一个安装程序,并具有数据库凭据的输入字段。我的验证过程的一部分包括测试数据库连接(使用 PHP 的 PDO 库)。如果连接失败,我希望能够区分错误的密码、错误的地址、不存在的数据库名称等,以便我可以引用表单上正确的输入字段。

任何人都可以向我指出一个参考资料,其中概述了随 PDOException 返回的可能的错误代码/消息吗?

Edit:我发现这些错误代码/消息可能是特定于数据库的,并且本机数据库代码/错误可能只是被传递。如果是这种情况,我目前只使用 MySQL 5 数据库。


MySQL 文档是完整的参考错误代码 https://dev.mysql.com/doc/refman/8.0/en/error-handling.html.

从 1000 开始的错误代码是服务器错误 https://dev.mysql.com/doc/refman/8.0/en/server-error-reference.html。其中包括以下错误:

  • 错误:1045 SQLSTATE: 28000 (ER_ACCESS_DENIED_ERROR) 消息:用户“%s”@“%s”的访问被拒绝(使用密码:%s)

  • 错误:1049 SQLSTATE: 42000 (ER_BAD_DB_ERROR) 消息:未知数据库“%s”

从 2000 开始的错误代码是客户端错误 https://dev.mysql.com/doc/refman/8.0/en/client-error-reference.html。其中包括以下错误:

  • 错误:2005(CR_UNKNOWN_HOST) 消息:未知的 MySQL 服务器主机“%s”(%d)

  • 错误:2003(CR_CONN_HOST_ERROR) 消息:无法连接到“%s”(%d) 上的 MySQL 服务器

我不会列出所有可能的错误,因为它们已经记录在案,而且我不知道您需要处理哪些错误。例如,错误 2001 和 2002 特定于 UNIX 套接字连接,这可能与您的目标平台无关。

不要忘记使用PDO::errorCode() http://php.net/manual/en/pdo.errorcode.php and PDO::errorInfo() http://php.net/manual/en/pdo.errorinfo.php而不是简单地PDOException信息。


回复您的评论getCode()-- 不,似乎不支持这种方式。我做了一个快速测试var_dump() a PDOException。不幸的是,尽管错误代码和 SQLSTATE 包含在异常消息中,但它的代码只是简单的“0”。

异常::getCode() http://php.net/manual/en/exception.getcode.php是基地的一部分Exception类,从 PHP 版本 5.1.0 开始。由相应的 PDO 驱动程序实现来利用该对象字段。至少对于 MySQL 驱动程序来说,他们显然没有。

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

可能的 PDOException 错误(MySQL 5)? 的相关文章

  • 即使使用“autoReconnect=true”,MySql JDBC 也会超时[重复]

    这个问题在这里已经有答案了 有时 我的 Java Tomcat6 Debian Squeeze 应用程序无法与 MySql 服务器通信 Tomcat 应用程序位于前端服务器上 而 MySql 位于单独的 仅限 MySql 的机器上 一个典型
  • gem install mysql:无法构建 gem 本机扩展 (Mac Lion)

    我为 Mac OS X Lion 安装了 MySQL 5 5 27 来自 dmg 现在我尝试安装 mysql gem gem install mysql Building native extensions This could take
  • 如何使用 PHP 构建正确的 SOAP 请求

    我需要格式化 构建此 SOAP 服务 的请求 http api notificationmessaging com NMSOAP NotificationService wsdl http api notificationmessaging
  • PHP WCF 集成

    是不是如果我想支持php客户端访问我的服务 我必须有一个基本的http端点 这是因为php仍然只支持soap 1 1吗 据我所知 自从我使用 PHP 以来已经两年了 情况仍然如此 如果客户端应用程序将使用 PHP 的内置 SoapClien
  • 如何在 JavaScript 中创建服务器端进度指示器?

    我想在我的网站中创建一个部分 用户可以在其中进行一些简单的操作update纽扣 这些中的每一个update按钮将发送到服务器 并在幕后进行长时间的处理 当服务器处理数据时 我希望用户有某种进度指示器 例如进度条或文本百分比 我使用 jQue
  • 如何使用 Perl 更改 mysql 密码

    我需要使用 Perl 脚本更改一些 mysql 密码 以下内容在更改数据库条目时有效 但是当我针对 mysql 用户更改修改它时 它将它们重置为空白密码 最后 刷新权限 也很好 但我还没有找到方法 usr bin perl use DBI
  • 如何将表中不存在但原始SQL中存在的实体字段设置为别名?

    假设我们有一个这样的查询 SELECT CUSTOM EXPRESSION as virtualfield FROM users 用户的实体本身具有 虚拟字段 但映射注释没有 因为表没有该字段 假设它作为原始 SQL 执行 我们如何使用上面
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • 使用值填充的 Symfony2 自定义字段类型

    这是先前问题的后续问题Symfony2 自定义表单类型或扩展 https stackoverflow com questions 24079288 symfony2 custom form type or extension 我正在尝试为订
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • Facebook PHP-SDK 页面刷新后似乎丢失了 userID

    我似乎登录工作正常 我可以登录 接受应用程序 第一次 然后显示用户信息 例如姓名 图片 等 然而 当我刷新页面时 userid 又回到 0 我必须再次登录 我不确定问题是什么 我必须在每次页面加载时重新启动它还是什么 我不知道 我会发布一些
  • Facebook API sdk 4.0 - 将照片发布到 Facebook

    我正在尝试创建一个应用程序 用户可以在其中浏览照片并将其从计算机提交到 Facebook 为此 他们首先必须将照片上传到服务器 然后使用 Facebook 请求将此图像发布到 Facebook 我正在使用多部分 表单数据 这就是我到目前为止
  • 如何从shell脚本自动登录MySQL?

    我有一个 MySQL 服务器 其中有一个用户和密码 我想在 shell 脚本中执行一些 SQL 查询而不指定密码 如下所示 config sh MYSQL ROOT root MYSQL PASS password mysql sh sou
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • 如何处理 REST api 中的 php 通知、警告和错误?

    在 REST API 中 200 响应表明操作成功 PHP 默认情况下直接在响应正文中输出错误消息 而不更改响应代码 在 SPA 中 用户无法直接看到响应文本 因此 当应用程序未按预期工作时 我通过 FireBug 检查响应正文 以检查可能
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • 如何跨多个表强制执行 CHECK 约束

    我有一个在 Microsoft SQL Server 2012 Express 中记录奶牛繁殖信息的数据库 显然 一头牛只有在出生后才能配种 并且在其一生中可能会配种多次 我需要在我的数据库中强制执行这些约束 我目前已经根据下图安排了一个架
  • 通过 htaccess 将 PNG 解析为 PHP 仅适用于本地服务器,但不适用于网络服务器

    我用 PHP 创建了一个动态 PNG 图片 为了使用 PNG 扩展名 我创建了一个包含以下内容的 htaccess 文件 AddType application x httpd php png 在我的本地 XAMPP 服务器上 一切工作正常
  • 在 MySQL 中存储表情符号的编码问题:如何使用 Prisma ORM 在 NodeJS 中定义字符排序规则?

    亲爱的 Nodejs 专家和数据库专家 我们在 MySQL 数据库中存储表情符号和其他特殊字符时遇到问题 我们使用 Prisma 得到一个错误 这是我们使用的 ORM 参数无法从排序规则 utf8 general ci 转换为 utf8mb
  • 如何修改现有表以添加时区

    我有一个包含 500 多个表的大型应用程序 我必须将应用程序转换为时区感知 当前应用程序使用new java util Date GETDATE 与服务器的时区 即没有任何时区支持 我已将这项任务分为几个步骤 以便于开发 我确定的第一个步骤

随机推荐

  • async-await 如何“节省线程”?

    我知道使用无线程异步有更多线程可用于服务输入 例如 HTTP 请求 但我不明白当异步操作完成并且需要一个线程来运行它们时 这如何不会潜在地导致线程饥饿继续 假设我们只有 3 个线程 Thread 1 Thread 2 Thread 3 并且
  • 如何在 Github 包中添加我的 Android 库的依赖项?

    我正在构建一个 Android 库 比如说 MyLibrary 这将被添加到我公司的其他应用程序中 该库有一些依赖项build gradle像这样的文件 dependencies implementation com alimuzaffar
  • serverless-webpack 找不到模块“./node/NodeTemplatePlugin”

    我正在尝试使用无服务器 webpack 插件 https github com elastic coders serverless webpack 虽然单独运行 webpack 工作得很好 但尝试运行 serverless webpack
  • 是否可以从 VS2010 插件刷新 WCF 服务引用?

    我想在 VS2010 插件中 模拟 右键单击 更新服务引用命令 我有一个对包含 Silverlight 项目的引用 我知道服务引用的名称和服务的 url 我发现了这个 http dedjo blogspot com 2007 03 addi
  • Z3 Java API 定义函数

    我需要您帮助使用 Z3 Java API 定义函数 我尝试解决这样的问题 与 z3 exe 进程一起工作正常 declare fun a Real declare fun b Real declare fun c Bool define f
  • 如何计算第一和第三四分位数?

    我有数据框 time diff avg trips 0 0 450000 1 0 1 0 483333 1 0 2 0 500000 1 0 3 0 516667 1 0 4 0 533333 2 0 我想获得该列的第一个四分位数 第三个四
  • Mysql 按特定字符串排序

    我似乎找不到这个问题的答案 假设我有一个像这样的表 ID Name 1 AAAAAAAAA 2 ABAAAAAAA 3 BBAAAAAAA 4 CDAAAAAAA 5 BBAAAAAAA 有什么办法可以通过以下方式订购name 但是 从说开
  • 由于屏幕方向变化而调整大小后,如何获取元素的新尺寸?

    我正在开发一个移动网络应用程序 在我的页面中我有一个div元素的宽度设置为 100 我需要设置这个的高度div以便高度对于设定的纵横比是正确的 例如 如果屏幕尺寸为 300 像素宽且比例为 3 2 我的脚本应该获取屏幕的宽度div 此时应为
  • 使用 sunspot/solr 搜索多个模型

    我已经能够成功地实现基本的全文搜索 但是当我尝试使用范围 with statements 时 任何涉及多对多关系模型的查询似乎都不适合我 我知道相关行位于数据库中 因为我的 sql 语句确实返回了数据 然而 太阳黑子查询不会返回任何结果 我
  • 从节点服务器上的 AWS S3 获取签名 URL

    Solved 我想得到一个签名网址从我的亚马逊S3服务器 我是新来的AWS 我在哪里设置我的密钥 and 访问 ID 密钥以便S3识别来自我的请求server var express require express var app expr
  • “-webkit-text-fill-color”和“颜色”之间的区别?

    我试图理解之间的区别 webkit text fill color只是简单地color 功能上有什么区别吗 据我所知 它们是完全相同的 有什么事情你可以用其中一个来做 而另一个却不能做吗 来自WebKit 博客 http www webki
  • 如何在 jQuery 中检测水平滚动?

    如何使用 jQuery 检测水平滚动 这将获得所有卷轴 window scroll function alert in 我只想要水平的 这似乎有效 var lastScrollLeft 0 window scroll function va
  • 在另一个模块中扩展 Ruby 模块,包括模块方法

    每当我尝试扩展 ruby 模块时 我都会丢失模块方法 include 和extend 都不会执行此操作 考虑一下片段 module A def self say hi puts hi end end module B include A e
  • 如何在汇编语言中换行打印多个字符串

    我试图在汇编中的不同行上打印多个字符串 但使用我的代码 它只打印最后一个字符串 我对汇编语言非常陌生 所以请耐心等待 section text global start start mov edx len mov edx len1 mov
  • 是否可以在不使用“Arc”的情况下拥有“内部指针”?

    struct Device struct CommandBuffer device Device Does not work because Rust does not allow internal pointers struct Some
  • 找不到 jni.h 文件 - 在 OS X El Capitan 上安装 node-java 模块

    我正在尝试安装node java允许 Node js 连接到现有的模块Java蜜蜂 这是我用来安装此模块的命令 须藤 npm 安装 java g 这是我收到的错误的堆栈跟踪 gt email protected cdn cgi l emai
  • SPARQL 为缺失字段生成值

    我正在尝试编写一个 SELECT 它为我提供表中的所有值 我有可选值 我希望用标准值填充它们 如果它们不存在 这是我的代码 SELECT WHERE a nmo hasObject nm coin OPTIONAL a nmo hasAut
  • ruby - heroku:找不到命令

    这个问题已经发布了 但答案还没有起作用 我应该顺便提一下 我对红宝石完全陌生 我在做教程时遇到了错误步骤如下 first app master gem install heroku I get Successfully installed
  • Laravel ErrorException:未定义的变量:\storage\framework\views\ 中的错误

    我尝试使用 redis 队列来延迟发送邮件 但每次都会收到错误 ErrorException 未定义的变量 错误 C wamp64 www laravel boltra storage framework views c653bafa95f
  • 可能的 PDOException 错误(MySQL 5)?

    因此 我正在为我的网络应用程序设置一个安装程序 并具有数据库凭据的输入字段 我的验证过程的一部分包括测试数据库连接 使用 PHP 的 PDO 库 如果连接失败 我希望能够区分错误的密码 错误的地址 不存在的数据库名称等 以便我可以引用表单上