PDO:什么´;s将数据插入数据库后获得结果的最佳方法


PDO : What´s the best method to get the result after insert data to database

我对PDO很陌生。我只是想知道当数据完全插入数据库时,获得结果的最佳方式是什么。我在谷歌四处看看。看起来很灵活。这让我想知道什么是正确的,什么是不正确的。

看看例子:

$sql = $conn->prepare("INSERT INTO tb_user(user_name, user_email) VALUES(:user_name,:user_email);
$sql->execute(array(':user_name'=>$user_name, ':user_email'=>$user_email));
$affected_rows = $sql->rowCount();

从这个脚本中,我想得到数据是否完成插入数据库的结果。如果完成了-->,我会像"完成"一样回显它,并将其发送回ajax或其他…

我试过:

if($affected_rows){
echo"YEZZ!! complete";
}

$all = $slq->fetchAll();
if(count($all)) {
echo"YEZZ!! complete";
}

if ($sql->execute){
echo"YEZZ!! complete";
//this one i know it will double insert data to database because I called it twice//
But I still want to know when can I use this method 

也许还有更多的方法让我抓狂,想知道如果事情完成了,什么是获得结果的最佳方法:A插入后、删除后、更新后这3条语句是最重要的。

任何建议都可能很棒!}}

你可以做:

$id = $conn->lastInsertId('IDCOLUMN');  

然后执行查询并搜索id

$stmt = $conn->prepare("SELECT * FROM tb_user WHERE IDCOLUMN = :id"); 
$stmt->execute(array("id", $id);
if($stmt->rowCount() > 0) {
   $result = $stmt->fetch(PDO::FETCH_ASSOC);
}

结果变量将包含您最后插入的记录

是的,您使用rowCount()的方法是正确的。坚持下去。