Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用PDO和MySQL确认记录插入_Php_Mysql_Pdo - Fatal编程技术网

Php 使用PDO和MySQL确认记录插入

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

如果没有错误,则无论是否插入记录,以下内容都将回显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);
?>

PDO::rowCount
将返回受影响的行数


因此您可以:
echo$stmt->rowCount()

可能是一个糟糕的答案,但如何创建一个select来查找insert,然后简单地比较insert和select,或者创建一个select和输入变量的计数


其他选项可能是检查

,除非您设置了不同的错误模式,否则PDO只会在出错时返回布尔值false,或者在成功时返回1/handle/object。由于您正在执行插入操作,因此没有结果集,因此您将得到一个
1
(也称为true)返回以指示成功。您还可以使用@MarcB
rowCount
,这样就可以了。不知道这是不是我唯一的选择。