gpt4 book ai didi

mysql - 将多个查询保存到sql数据库

转载 作者:行者123 更新时间:2023-11-29 11:47:01 25 4
gpt4 key购买 nike

我正在尝试将多个查询保存到两个不同表上的数据库中。下面是我尝试过的代码,但没有成功。 firsttable.a 与 secondarytable.id 相同,con 保存连接信息,并且所有内容都可以通过一次查询完美保存。我在这里缺少什么吗?

if(empty($id)){
$uuid = uniqid();
$query = "INSERT INTO firsttable (`id`, `a`, `b`, `uuid`) VALUES (NULL, '$a', '$b', '$uuid')";

$query2 = "INSERT INTO secondtable (`id`, `c`, `d`, `uuid`) VALUES (NULL, '$c', '$d', '$uuid')";
}else{
$query = "UPDATE `firsttable` SET `id` = '$id', `a` = '$a', `b` = '$b', `uuid` = '$uuid' WHERE `id` = $id";

$query2 = "Update INTO secondtable SET `id` = '$a', `c` = '$c', `d` = '$d',

if(!mysqli_multi_query($this->_con, $query;$query2)){
throw new Exception( mysqli_error($this->_con) );

最佳答案

mysql_multi_query接受两个参数:数据库连接和单个字符串。

您需要将两个查询连接在一起作为一个字符串:

mysqli_multi_query($this->con, $query1 . ';' . $query2);

或者你可能想做的事情:

mysqli_multi_query($this->con, "$query1;$query2");

来自php documentation关于如何检索后续查询的结果集:

To retrieve the resultset from the first query you can use mysqli_use_result() or mysqli_store_result(). All subsequent query results can be processed using mysqli_more_results() and mysqli_next_result().

第一个示例展示了它是如何工作的。

但是,在您的示例中,正确的语法是 UPDATE tablename ...,而不是 UPDATE INTO tablename ...

关于mysql - 将多个查询保存到sql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34755039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com