作者:临临临峰_547 | 来源:互联网 | 2023-09-07 10:38
在mysqldb中处理INSERT查询后,php函数mysql_insert_id()是否可以返回任何结果?只是为了澄清.cron在生产站点上执行了一个脚本.它包含一个为用户生
在mysql db中处理INSERT查询后,php函数mysql_insert_id()是否可以返回任何结果?
只是为了澄清. cron在生产站点上执行了一个脚本.它包含一个为用户生成发票的周期.每次迭代都包含一个INSERT数据库查询和查询之后立即进行的mysql_insert_id()操作-提取生成的发票编号.执行了一组迭代,而没有获取最后插入的数字.
可能是由于数据库服务器负载过大或其他与PHP代码站点上的问题无关的原因引起的吗?
任何帮助,将不胜感激!
解决方法:
临时而言,我想到了MySQL无法返回ID的几种情况:
>您要插入的表没有AUTO_INCREMENTed主键.
>您一次要插入多行.
>您从与执行INSERT查询不同的连接调用mysql_insert_id().
> INSERT查询未成功(例如,遇到死锁).确保您正在检查mysql_query()的返回值,然后使用mysql_errno()和mysql_error().
MySQL文档有a full list of conditions and details on how this function works.
当然,MySQL中也可能存在错误,这取决于您使用的MySQL版本.