【发布时间】:2015-01-07 19:11:01
【问题描述】:
无论是否插入记录,如果没有错误,以下将回显$response of 1。
我阅读了PDO mysql: How to know if insert was successful,但是,它只是描述了查询是否不成功可能是由于错误造成的。
如何确认是否插入了记录?
<?php
$sql='INSERT INTO t3(id,data) SELECT id,data FROM t2 WHERE id=?';
$stmt=db::db()->prepare($sql);
$response=$stmt->execute(array(123));
echo($response);
?>
【问题讨论】:
-
除非您设置了不同的错误模式,否则 PDO 将简单地在错误时返回布尔值 false,或者在成功时返回 1/handle/object。由于您正在执行插入操作,因此没有结果集,因此您将得到一个
1(又名 true)返回以指示成功。你也可以使用rowCount -
@MarcB
rowCount可以。不知道这是否是我唯一的选择。