-1

ここで同様の質問をしましたが、この例ではニーズが十分ではないことに気付きました。ここに私の新しい質問があります:

numbermysqli クエリから変数を設定しようとしています。そして、次のクエリで変数を使用します。次のクエリを試しましたが、無駄でした。正しい方法は何ですか?

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
4

2 に答える 2

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
于 2012-07-27T17:55:20.447 に答える
0

あなたがやりたいことのように聞こえるのは、mysqli_multi_query の使用方法ではありませんが、より多くのコード コンテキストを表示する必要があります。これは、文字列で渡されるさまざまなクエリのセットを実行し、各結果セットを個別に操作できるようにするために使用することを目的としています。前のステートメントの実行に応答して SQL ステートメントを変更して、同じクエリを X 回ループする場所には設計されていません。

于 2012-07-27T17:56:06.783 に答える