我正在使用PDO,有一个像这样的查询:
$stmt=$db->query("SET @update_id := 0;
UPDATE table SET column = something, id = (SELECT @update_id := id)
WHERE condition
LIMIT 1;
SELECT @update_id;");
这个操作应该是更新一行数据并返回其id。
我相信查询语句本身是有效的,因为我在phpmyadmin中运行它,并返回了一个名为@updated_id的列,其值为更新行的id,就像这样:
| @updated_id |
|------------------|
| *correct id* |
我想获取 @updated_id 的值并将其存储在 PHP 变量中。
我尝试使用 $stmt->fetchColumn();
和 $stmt->fetchColumn();
,但是我得到了 SQLSTATE[HY000]: General error
。
我一直在寻找可行的方法,但是我找不到任何东西。
所以有人知道如何将 @updated_id 的值存储在 PHP 变量中吗?
谢谢。
@updated_id
的列,并在其下方显示正确的值。此外,我使用了来自这里的查询https://dev59.com/iXM_5IYBdhLWcg3waSb9#1751282,它似乎是正确的,因为它在phpmyadmin中运行正常。 - Drust