簡體   English   中英

如何在 mysqli_multi_query 中傳遞變量?

[英]How do I pass a variable in mysqli_multi_query?

我正在嘗試從 mysqli 查詢中設置一個變量number 並在下一個查詢中使用該變量。 我嘗試了以下查詢,但徒勞無功。 什么是正確的方法?

mysqli_multi_query($mysqli, "COUNT(fruits) FROM eatables as num SET @number= num; UPDATE fruits SET fruits = @number") or die('</br>mySqli Error</br>');

這是示例 sql 數據庫:

table eatables:

#fruits   #numbers
apple      null
apple      null
grapes     null
mango      null
pears      null
grapes     null

查詢后應該是

#fruits   #numbers
apple      3
apple      3
grapes     2
mango      1
pears      1
grapes     2

您的情況不需要多重查詢,
做一個內部連接更新就可以了

update eatables
inner join (select fruits, count(*) as total from eatables group by fruits) as b
on eatables.fruits = b.fruits
set eatables.numbers = b.total

您應該顯示更多代碼上下文,盡管聽起來您想要做的並不是 mysqli_multi_query 的使用方式。 它旨在用於執行一組以字符串形式傳遞的不同查詢,並使您能夠獨立處理每個結果集。 它不適用於您在同一查詢上循環 X 次更改 SQL 語句以響應前一條語句的執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM