php - 选择更新

标签 php mysql

有一个查询

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)");

更多信息:Getting Started with MySQL Stored Procedures

关于php - 选择更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13359881/

相关文章:

mysql - 我的 CFQUERYPARAM 出错

php PDO对象到字符串

php - PDOException 语法错误或访问冲突 1142,当创建引用其他 View 的 View 时

php - mysql multiple COUNT() from multiple tables with LEFT JOIN

php - 在上一个定位命令之后定位特定字符串

mysql - 使用安装在主机上的 mysql 对 wordpress 进行 dockering

php - 在 Ubuntu 16 上安装 PHP 7

javascript - Ajax在多个实例中的下拉效果

返回多行多列的 MySql case 语句

php - 如何从 mysql 以数组形式检索数据并显示在另一个页面中进行操作?