[英]How can i run a check in PHP to see if my MYSQL Stored Procedure ran correctly?
I'm used to working with MSSQL but recently have had to use MYSQL, I know it is similar but the way things are done are confusing me slightly. 我曾经使用过MSSQL,但最近不得不使用MYSQL,我知道这很相似,但是事情的进行方式使我有些困惑。
My question is after I have called a stored procedure (insert, update, select, delete) how can I do a check within PHP that the call was successful before returning data from my function? 我的问题是在调用存储过程(插入,更新,选择,删除)之后,如何在PHP中检查从调用函数返回数据之前调用是否成功?
CURRENT MYSQL (SELECT) call from PHP: 来自PHP的当前MYSQL(SELECT)调用:
public function login($email){
$stmt = $this->connection->prepare('call loginUser(?)');
$stmt->bind_param("s", $email);
$stmt->execute();
// if($stmt === false){
// return false; HOW I CURRENTLY DO IT IN MSSQL
// }
$result = $stmt->get_result();
$row = mysqli_fetch_assoc($result);
$stmt->close();
return json_encode(array("success"=>true));
}
CURRENT MYSQL (INSERT) call from PHP: 来自PHP的当前MYSQL(INSERT)调用:
public function registerUser($params){
// Prepare and Bind
$stmt = $this->connection->prepare('call addUser(?,?,?,?,?)');
$stmt->bind_param("sssss", $firstname, $surname, $displayname, $email, $password);
$firstname = $params['firstname'];
$surname = $params['surname'];
$displayname = $params['firstname'] . ' ' . $params['surname'];
$email = $params['email'];
$password = password_hash($params['password'], PASSWORD_DEFAULT);
$stmt->execute();
$stmt->close();
return json_encode(array("success"=>true));
}
try this 尝试这个
public function registerUser($params= null){
// Prepare and Bind
if ($param==0) {
echo '<script>alert(\'saved\')</script>';
$stmt = $this->connection->prepare('call addUser(?,?,?,?,?)');
$stmt->bind_param("sssss", $firstname, $surname, $displayname, $email, $password);
$firstname = $params['firstname'];
$surname = $params['surname'];
$displayname = $params['firstname'] . ' ' . $params['surname'];
$email = $params['email'];
$password = password_hash($params['password'], PASSWORD_DEFAULT);
$stmt->execute();
$stmt->close();
}
}
执行返回布尔值,可以这样检查
if (! $stmt->execute()) { return false; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.