gpt4 book ai didi

php - 如何一个接一个地执行多个查询?

转载 作者:行者123 更新时间:2023-11-29 18:08:38 26 4
gpt4 key购买 nike

当用户填写注册表单并点击前端的注册按钮时,会发生以下情况。它应该将输入字段中的所有用户信息保存到users表中,然后检查userRole表中是否存在任何记录,如果不存在则插入admin ,如果是,则在 userRole 列中插入 user

基本上就是一次插入、一次选择、再一次插入。我不知道如何设置,所以这有效。现在仅在 userRole 表中插入值 user。

 <?php

// Get the userimage and save it with a unique id
$sFileExtension = pathinfo($_FILES['fileUserImage']['name'], PATHINFO_EXTENSION);
$sFolder = 'img_webshop/';
$sFileName = 'userimage-'.uniqid().'.'.$sFileExtension;
$sSaveFileTo = $sFolder.$sFileName;
move_uploaded_file( $_FILES['fileUserImage']['tmp_name'], $sSaveFileTo);

try {

// connect to the database
require 'connect.php';
// create a query
$sUserName = $_POST['txtEmailorPhoneNumber'];
$sFirstName = $_POST['txtFirstName'];
$sLastName = $_POST['txtLastName'];
$sPassword = $_POST['txtPassword'];
$sImage = $sFolder.$sFileName;
$query1 = $conn->prepare("INSERT INTO users ( userName, firstName, lastName, password, image ) VALUES ( :userName, :firstName, :lastName, :password, :image )");
$query1->bindParam( ':userName' , $sUserName );
$query1->bindParam( ':firstName' , $sFirstName );
$query1->bindParam( ':lastName' , $sLastName );
$query1->bindParam( ':password' , $sPassword );
$query1->bindParam( ':image' , $sImage );
// run the query
$aResult = $query1->execute();
$query2 = $conn->prepare("SELECT COUNT ( userRole ) as total FROM userRoles");
$bResult = $query2->execute();
if ($bResult === 0 ) {
$sUserRole = 'admin';
}
else {
$sUserRole = 'user';
}
$query3 = $conn->prepare("INSERT INTO userRoles ( userRole ) VALUES ( :userRole )");
$query3->bindParam( ':userRole' , $sUserRole );
$cResult = $query3->execute();
$sjResponse = $cResult ? '{"status":"ok"}' : '{"status":"error"}';
// $lastId = $query->lastInsertId();
// $result = json_encode( $query->fetch(PDO::FETCH_ASSOC) );

echo $sjResponse;


} catch (Exception $e) {

echo "ERROR";

}

?>

最佳答案

更改此:

if ($bResult === 0 ) {
$sUserRole = 'admin';
}
else {
$sUserRole = 'user';
}

对此:

if ($bResult > 0 ) {
$sUserRole = 'user';
}
else {
$sUserRole = 'admin';
}

这应该可以解决问题!

关于php - 如何一个接一个地执行多个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47595140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com