PDO mysql:如何知道插入是否成功

我正在使用PDO插入记录(mysql和php)


$stmt->bindParam(':field1', $field1, PDO::PARAM_STR);

$stmt->bindParam(':field2', $field2, PDO::PARAM_STR);

$stmt->execute();

是否有办法知道是否成功插入记录,例如是否由于重复记录而未插入记录?


编辑:当然,我可以查看数据库,但是我的意思是程序反馈。


红颜莎娜
浏览 1596回答 3
3回答

呼啦一阵风

PDOStatement->execute()成功返回true。还有PDOStatement->errorCode(),你可以检查错误。

素胚勾勒不出你

如果使用与当前数据库记录匹配的值执行更新查询,$stmt->rowCount()则将返回,0因为没有受影响的行。如果您if( rowCount() == 1 )要测试成功,您会认为更新没有失败,但是值已经在数据库中,因此失败了,因此没有任何变化。$stmt->execute();if( $stmt ) return "success";当我尝试更新具有唯一键字段被违反的记录时,这对我不起作用。该查询返回成功,但另一个查询返回旧的字段值。
打开App,查看更多内容
随时随地看视频慕课网APP