有一个查询
UPDATE users SET hash =: hash, num_try_incorrect_pass = 0
WHERE email =: email; SELECT * FROM users WHERE email =: email
首先执行UPDATE
下一个选择
如何通过一个请求做到这一点?
最佳答案
使用存储过程怎么样?
如果您希望从一个代码语句中执行两个查询,您可以将它们定义为数据库中的存储过程。
DELIMITER //
CREATE PROCEDURE ExecuteQueries(IN pEmail VARCHAR(50),
IN pHash VARCHAR(60))
BEGIN
UPDATE users SET hash=pHash, num_try_incorrect_pass = 0 WHERE email = pEmail;
SELECT * FROM users WHERE email = pEmail;
END //
DELIMITER ;
然后您可以通过您的 php 代码以这种方式执行这两个语句:
$stmt = $dbh->prepare("CALL ExecuteQueries($sEmail,$sHash)");
关于php - 选择更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13359881/