我是PDO的新手。我只是想知道在数据插入到数据库时最好的方法来获得结果。我在googl四处看看。看起来很灵活。这让我想知道什么是正确的,什么是不正确的方式。
让我们看看例子:
$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
也许更多的方法让我疯狂,想要知道如果事情已经完成,获得结果的最佳方式是什么: 删除后,删除后,更新后这三个语句对于了解每个语句是最重要的。
任何建议都可能很精彩! } }
答案 0 :(得分: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);
}
结果变量将包含您上次插入的记录
答案 1 :(得分:0)
是的,您使用rowCount()
的方法是正确的。坚持下去。