加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 无法在Multi MYSQL查询语句中获取结果

发布时间:2020-12-13 16:05:37 所属栏目:PHP教程 来源:网络整理
导读:==已解决== 我从以下帖子中获得此查询: How to get ID of the last updated row in MySQL? 我在phpMyAdmin上试了一下,看到了我想要但无法获取的结果. $query = "SET @order_id := '',@order_token := '',@order_param := ''; UPDATE transaction set `ts_st
==已解决==

我从以下帖子中获得此查询:

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.

ETA:因为SET我猜这不行.你需要使用multi_query.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读