Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.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:What´;将数据插入数据库后,获得结果的最佳方法是什么_Php_Database_Pdo - Fatal编程技术网

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

Php PDO:What´;将数据插入数据库后,获得结果的最佳方法是什么,php,database,pdo,Php,Database,Pdo,我对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_e

我对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";
}

也许还有更多让我发疯的方法,想知道如果事情完成了,什么是获得结果的最佳方法: insert之后、delete之后、update之后,了解这三条语句是最重要的

任何建议都会很棒! } }

您可以:

$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()
的方法是正确的。坚持下去。

谢谢你的回答:)这一个也不错。这一个也不错:因为这样我可以确保当客户端双击提交按钮(如bot)时,它不会同时插入双重数据。但正如我所说,我对这一点还不熟悉……卢帕图斯的评论似乎也是可靠的!当出现错误时抛出错误消息。
$id = $conn->lastInsertId('IDCOLUMN');  
$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);
}