Php 使用PDO和MySQL确认记录插入
如果没有错误,则无论是否插入记录,以下内容都将回显1的Php 使用PDO和MySQL确认记录插入,php,mysql,pdo,Php,Mysql,Pdo,如果没有错误,则无论是否插入记录,以下内容都将回显1的$response 然而,我读过,它只是描述了查询是否不成功,可能是由于一个错误 如何确认是否插入了记录 <?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); ?&g
$response
然而,我读过,它只是描述了查询是否不成功,可能是由于一个错误
如何确认是否插入了记录
<?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::rowCount
将返回受影响的行数
因此您可以:
echo$stmt->rowCount()代码>可能是一个糟糕的答案,但如何创建一个select来查找insert,然后简单地比较insert和select,或者创建一个select和输入变量的计数
其他选项可能是检查,除非您设置了不同的错误模式,否则PDO只会在出错时返回布尔值false,或者在成功时返回1/handle/object。由于您正在执行插入操作,因此没有结果集,因此您将得到一个1
(也称为true)返回以指示成功。您还可以使用@MarcBrowCount
,这样就可以了。不知道这是不是我唯一的选择。