Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL-如何在一行中运行多个更新查询?_Php_Mysql - Fatal编程技术网

Php MySQL-如何在一行中运行多个更新查询?

Php MySQL-如何在一行中运行多个更新查询?,php,mysql,Php,Mysql,如何在一行中运行两个更新查询?使用您可以实现的Mysqli扩展,您可以使用Mysqli\u multi\u query运行多个查询: $sql = "UPDATE user SET password = '$new_password' WHERE temp_url = '$temp_code';"; $sql = "UPDATE user SET temp_url = '' WHERE user_name = '$user_name_frmdb';"; 即使where子句不同,它们是否都在同

如何在一行中运行两个更新查询?

使用您可以实现的Mysqli扩展,您可以使用Mysqli\u multi\u query运行多个查询:

$sql = "UPDATE user SET password = '$new_password' WHERE temp_url = '$temp_code';";

$sql = "UPDATE user SET temp_url = '' WHERE user_name = '$user_name_frmdb';";

即使where子句不同,它们是否都在同一行上工作?根据NewFurnity,这是不受支持的:@cxminer这不完全适用于此问题。对于旧的
mysql.*
api是,mysqli不支持它支持多个查询。OP没有提到他们使用的api。因此,它是受支持的,也是可能的。我希望Mysqli会支持,但我不知道如何编写我的appologize,Hanky是对的,可以使用Mysqli_multi_query(),请参阅本页:用分号分隔查询
并修复语法错误我已经更新了sql字符串,您需要使用它,确保您已经安装了mysqli&连接正在mysqlii tryed$new\u password=$\u POST['password']上运行;$sql=“更新用户设置密码='$new\u password',其中temp\u url='$temp\u code';$sql.=“更新用户集临时url=”,其中user\u name=“$user\u name\u frmdb'”;if(mysqli_multi_query($conDB,$sql)){echo“ok”}但不是working@Hanky您能批准我的编辑吗?这样我们就可以消除语法错误,在mysql字符串$sql=“Update user SET password='$new\u password'中的第一次查询后显示分号和分号,其中temp\u url='$temp\u code';”; $sql.=“更新用户集临时url=”,其中用户名=“$user\u name\u frmdb”;
$sql = "UPDATE user SET password = '$new_password' WHERE temp_url = '$temp_code';";
$sql .= "UPDATE user SET temp_url = '' WHERE user_name = '$user_name_frmdb';";

// Execute multi query
if (mysqli_multi_query($con, $sql)) {
    // Query successful
}