你使用mysql_error($ con)或mysql_insert_id($ con)来检查插入结果吗?

时间:2010-01-26 12:33:20

标签: php mysql mysql-insert-id

$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);

2 个答案:

答案 0 :(得分:1)

我使用mysql_error。我这样做b / c它与程序其他部分的错误检查更加一致,我将知道错误发生的原因,而不仅仅是接收错误值。

答案 1 :(得分:0)

如果插入操作失败,

mysql_error()将始终抛出错误,因此,除非您需要进一步处理,否则我无法获取insert_id。

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

  

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