php - 支持获取在单个查询中实现的功能

标签 php mysql mysqli

有没有办法将以下内容优化为单个查询?

$username=sanitize($_POST['username']);
$sql="SELECT * FROM $tbl_name WHERE username='$username' AND email='$email' AND amount='$donation_amount'";
$result=mysql_query($sql);
$num_rows = mysql_num_rows($result);

if($num_rows==1){
$sql1="UPDATE $tbl_name SET password='$new_password' WHERE username='$username' AND email='$email' AND amount='$donation_amount'";
$result1=mysql_query($sql1);
$num_rows1=mysql_affected_rows();

最佳答案

您可以省略 SELECT$num_rows 部分。

UPDATE 子句就足够了:根据您的谓词(即 WHERE 条件)找到的记录将按照 SET 子句中的指定进行更新;如果没有找到记录,表/relvar 将“按原样”(即不会发生更新。)

希望对您有所帮助。

关于php - 支持获取在单个查询中实现的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6442226/

相关文章:

php - mysql(i)_real_escape_string,安全可靠吗?

php - MySQL Native Driver 和 MySQL Client Library 有什么不同

javascript - 我正在尝试使用复选框删除一行数据,当我单击“删除”时,我的 php 应该删除该行

mysql - 如何检查事件调度程序状态mysql

php - 分组列总和的sql计数

mysql - 大型 MySQL 表 - 索引崩溃

mysql - 将 facebook id 保存为 int 或 varchar?

php - 我可以在 PHP 中混合使用 MySQL API 吗?

php - Wordpress Customizer (functions.php) - 网站崩溃 (500)

java - 从 Android 应用程序将数据插入 MySQL 数据库。更改未反射(reflect)在数据库中