0

我对 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 

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

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

4

2 回答 2

0

你可以这样做:

$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);
}

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

于 2013-08-10T10:57:44.333 回答
0

是的,你的方法rowCount()是正确的。坚持下去。

于 2013-08-10T11:28:35.103 回答