0
SQLデータベースからいくつかのデータを取得し、すべての行をトラフループする必要があります。PHP/SQL:mysqli_fetch_assocのループがうまくいかないのはなぜですか?
これは私が書いたものである:行数、最初の行のratingIDと合計:私はそれを実行すると
<?php
$result = mysqli_query($con,"SELECT * FROM bewertungen;");
while($rating = mysqli_fetch_assoc($result)){
echo "number of rows: " . mysqli_num_rows($result) . "<br>";
$sql="
SELECT SUM(rating_direction)
FROM commentratings
WHERE comment_ID = '".$rating['ID']."';
";
echo "ratingID: " . $rating['ID'] . "<br>";
$result = mysqli_query($con,$sql);
if (FALSE === $result) die("Select sum failed: ".mysqli_error);
$row = mysqli_fetch_row($result);
$sum = $row[0];
if ($row[0] == false) $sum = 0;
echo "sum: " . $sum ."<br>";
$sql="
UPDATE bewertungen
SET Bewertung_Kommentar = '$sum'
WHERE ID = ".$rating['ID'].";
";
if ($con->query($sql) == TRUE) {
echo 'success';
}
}
?>
、それはすべて正しいです
number of rows: 6
ratingID: 22
sum: -1
success
を返します。 。
しかし、なぜ他のすべての行も同様にループしませんか? ...私は別の部分でこれを使用し、それがうまく働い事前に
おかげで、 ジュリアン
あなたは上記のコードを正確に行うために何をしようとしていますか? –
最初の '$ result'は' $ result = mysqli_query($ con、$ sql);で上書きされるため、 –
クエリからターミネータ記号を削除します**; ** –