【问题标题】:Do you use mysql_error($con) or mysql_insert_id($con) to check insert result?您使用 mysql_error($con) 或 mysql_insert_id($con) 来检查插入结果吗?
【发布时间】:2011-01-09 12:09:25
【问题描述】:
$dml = "insert into table ...";
mysql_query($dml,$con);

上面在表格中插入了一些东西。然后你可以检查它是否成功

if('' == mysql_error($con))...

if($id = mysql_insert_id($con))...

你的选择和理由是什么?

顺便说一句,运行它们时下面是否仍然会获取 $id,我还没有尝试过:

$err = mysql_error($con);
$id = mysql_insert_id($con);

【问题讨论】:

    标签: php mysql mysql-insert-id


    【解决方案1】:

    mysql_error() 如果插入操作失败,总是会抛出错误,因此据我所知,获取 insert_id 并不是真正必要的,除非您需要它进行进一步处理。

    您的代码块应该可以工作,但是manual 建议在发出查询后直接运行 insert_id()。

    注意:因为 mysql_insert_id() 作用于最后执行的查询,所以确保在生成值的查询之后立即调用 mysql_insert_id()。

    【讨论】:

    • 这取决于 mysql_error 究竟做了什么。我想它可能不会打扰 MySQL 得到最后一条语句的错误。
    【解决方案2】:

    我使用mysql_error。我这样做 b/c 它更符合程序其他部分的错误检查,我会知道为什么会发生错误,而不是仅仅收到一个错误的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-02
      • 1970-01-01
      • 1970-01-01
      • 2016-07-29
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      • 2015-10-05
      相关资源
      最近更新 更多