我问了一个类似的问题here,但我意识到这个例子不足以满足我的需要。这是我的新问题:
我正在尝试从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
答案 0 :(得分:1)
您的案例不需要多次查询,
做内部联接以进行更新
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
答案 1 :(得分:0)
你应该显示更多的代码上下文,虽然它听起来像你想要做的不是如何使用mysqli_multi_query。它旨在用于执行一组在字符串中传递的不同查询,并使您能够独立地处理每个结果集。它不适用于循环同一查询的地方X次更改SQL语句以响应前一语句的执行。