讲师中心 微信公众号
AI工具推荐 视频效率加速

MySQLi执行SQL如何获取错误码

风瑶同学_2275

风瑶同学_2275

发布时间:2026-08-20 15:19:21

|

766人浏览过

|

来源于php中文网

原创

mysqli_query()失败后需先判断返回值是否为false,再调用mysqli_errno($conn)获取数字错误码(如1062);面向对象中用$mysqli->errno,不可混淆$mysqli->connect_errno。

mysqli执行sql如何获取错误码

mysqli_query()失败后怎么拿到错误码

直接调用 mysqli_query() 后不检查返回值,就等于主动放弃错误诊断能力。它执行失败时只返回 false,不会自动抛异常,错误码必须手动提取。

关键动作是:先判断返回值是否为 false,再立刻调用 mysqli_errno($conn) —— 它返回的是纯数字(如 1062),不是字符串。

  • mysqli_errno($conn) 必须传入有效的连接资源,否则返回 0(即“无错误”),但实际是调用失败
  • 同一连接上,mysqli_errno() 总是返回「最近一次操作」的错误码,中间穿插其他 mysqli 调用会覆盖它
  • 不要在 if ($result === false) 之前做任何其他 mysqli 操作(比如 mysqli_affected_rows()),否则错误码可能被冲掉

面向对象写法中该用 $mysqli->errno 还是 $mysqli->connect_errno

$mysqli->errno 是查「最近一次查询或命令」的错误码;$mysqli->connect_errno 只管连接阶段的错误(比如用户名错、端口不通),两者完全不重叠。

MySQL
MySQL

编写正确的MySQL查询,避免字符集、索引和锁方面的常见陷阱。

下载

常见误用:在 $mysqli->query() 失败后去读 $mysqli->connect_errno,结果永远是 0 —— 因为连接早就成功了,问题出在 SQL 执行环节。

  • 查 SQL 执行错误,只用 $mysqli->errno$mysqli->error
  • 查连接失败,只用 $mysqli->connect_errno$mysqli->connect_error
  • 如果连接本身失败,$mysqli 实例可能根本没创建成功,此时访问 ->errno 会触发 PHP Notice

为什么有时 mysqli_errno() 返回 0 却实际执行失败

最常见原因是启用了 MYSQLI_REPORT_STRICT 模式(例如通过 mysqli_report(MYSQLI_REPORT_STRICT) 全局设置,或某些框架默认开启)。这时 mysqli_query() 不再返回 false,而是直接抛出 mysqli_sql_exception 异常,mysqli_errno() 根本没机会被调用。

  • 这种模式下,if (!$result) 判断完全失效,代码会直接中断在 query()
  • 若想继续用 mysqli_errno(),得先关闭严格模式:mysqli_report(MYSQLI_REPORT_OFF)
  • 更推荐做法:统一用 try-catch 捕获 mysqli_sql_exception,然后从异常对象里取 $e->getCode()(对应错误码)和 $e->getMessage()

错误码 1062(唯一键冲突)怎么安全识别和处理

不能只靠 mysqli_error() 字符串匹配(比如检查是否含 "Duplicate entry"),因为不同 MySQL 版本或语言环境返回的提示文本可能变化。唯一稳定方式是比对数字错误码。

  • 插入失败后立即检查 $mysqli->errno === 1062,这是官方定义的 ER_DUP_ENTRY 错误码
  • 注意:1062 仅表示「违反唯一约束」,不区分是主键、UNIQUE 索引还是其他约束,业务逻辑需自行判断上下文
  • 如果同时要记录日志,建议同时保存 $mysqli->sqlstate(如 '23000'),它比数字码更标准化,也便于跨数据库兼容
错误码本身不带上下文,mysqli_errno() 返回的只是一个整数。真正定位问题,还得结合 $mysqli->error 的文本描述、原始 SQL 语句、以及执行前后的数据状态。

相关文章

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

869

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2300

2023.10.25

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

20

2026.09.21

NumPy随机数文件读写与dtype数据类型
NumPy随机数文件读写与dtype数据类型

本专题整理 NumPy 随机数、文件读写与 dtype 数据类型相关教程,覆盖 Generator/random、随机数种子、正态分布采样、npy/npz/CSV/TXT 保存读取、loadtxt/savetxt、memmap、大文件处理、astype 类型转换、结构化 dtype、整数溢出和精度丢失等场景。

0

2026.09.21

NumPy矩阵运算与线性代数计算
NumPy矩阵运算与线性代数计算

本专题整理 NumPy 矩阵运算与线性代数计算相关教程,覆盖矩阵乘法、dot 与 @ 运算符、逆矩阵、行列式、特征值与特征向量、SVD、线性方程组、欧氏距离、矩阵分解和大规模矩阵性能优化等内容,帮助读者掌握 np.linalg 与矩阵计算实战。

0

2026.09.21

NumPy广播机制数学运算与统计分析
NumPy广播机制数学运算与统计分析

本专题整理 NumPy 广播机制、数组数学运算与统计分析相关教程,覆盖广播规则、维度对齐、矩阵与数组加减除法、向量化计算、均值方差、分位数、中位数、直方图和 unique 频次统计等场景,帮助读者掌握 ndarray 高效计算与统计处理方法。

0

2026.09.21

NumPy数组创建索引切片与数据选择
NumPy数组创建索引切片与数据选择

本专题整理 NumPy 数组创建、索引、切片与数据选择相关教程,覆盖 np.array、zeros/ones、多维数组形状、基础切片、花式索引、布尔索引、条件筛选、视图与副本等常用场景,帮助读者系统掌握 ndarray 数据构造与高效提取方法。

0

2026.09.21

Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

40

2026.09.20

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

0

2026.09.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 169人学习

使用phpenv集成环境安装极致CMS
使用phpenv集成环境安装极致CMS

共2课时 | 273人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn