如何返回在同一查询中创建的记录。
我试过了 $row[Password]
但它不起作用。请帮忙
$sql = "SELECT COUNT(*) FROM characters WHERE GUID=:GUID";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':GUID', $_GET['GUID'], PDO::PARAM_INT);
$stmt->bindColumn(4, $charactername);
$stmt->execute();
$res = $stmt->fetchColumn();
if($res == 1) {
echo "Already created";
}
if(!$res){
$sql = "INSERT INTO characters (GUID,Charactername,Password) VALUES (:GUID,:Charactername,FLOOR( 1000 + ( RAND( ) *8999 ) ))";
$stmt= $pdo->prepare($sql);
$stmt->bindParam(':GUID', $_GET['GUID'], PDO::PARAM_INT);
$stmt->bindParam(':Charactername', $_GET['Charactername'], PDO::PARAM_INT);
$stmt->execute();
echo " THIS password created with FLOOR";
}
3条答案
按热度按时间edqdpe6u1#
您可以通过返回最后插入的id
$id = $stmt->lastInsertId();
然后对返回的id执行选择。hgb9j2n62#
如果需要获取随机生成的密码,可以使用多个查询:
如果要插入上一条语句中的所有值,还可以使用last\u insert\u id():
pcww981p3#
使用
$stmt->lastInsertId();
之后$stmt->execute();
获取插入的记录id,然后进行另一个查询以选择该记录。