[英]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.