gpt4 book ai didi

php - 无法在多 MYSQL 查询语句上获取结果

转载 作者:可可西里 更新时间:2023-11-01 07:38:46 24 4
gpt4 key购买 nike

== 已解决 ==

我从以下帖子中得到这个查询:

How to get ID of the last updated row in MySQL?

我在 phpMyAdmin 上试过了,看到了我想要的结果,但无法获取它。

$query = "SET @order_id := '', @order_token := '', @order_param := ''; UPDATE transaction set `ts_status` = 'completed', `ts_remarks` = '', `tsid` = (SELECT @order_id := tsid), `token` = (SELECT @order_token := token), `param` = (SELECT @order_param := param) WHERE `token` = '503cd5c095fa942dbdfe72b2f4302edf' LIMIT 1; SELECT @order_id as order_id, @order_token as order_token,  @order_param as order_param";

if($result = $con->query($query)){
$row = $result->fetch_array();
} else {
echo 'no result';
}

它返回“无结果”

enter image description here

请指教。

== 解决方案 ==

if (!$con->multi_query($query)) {
echo "Multi query failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

do {
if ($res = $con->store_result()) {
$row = $res->fetch_all(MYSQLI_ASSOC);
$res->free();
}
} while ($con->more_results() && $con->next_result());
echo '<pre>';
print_r($row);
echo '</pre>';

最佳答案

尝试对每个语句进行一个查询。一种用于 SET,一种用于 UPDATE,一种用于 SELECT。

预计到达时间:我猜这是因为 SET 的缘故。您需要使用 multi_query相反。

关于php - 无法在多 MYSQL 查询语句上获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39677732/

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