0

これが問題です。最初の選択だけを行うと完全に機能しますが、UNIONを実行するとエコーが発生します警告:mysqli_fetch_assoc()は、パラメーター1がmysqli_resultであると想定しています。これは、C:\ bla、bla、blaで指定されたブール値です。

同様の質問や問題を検索しましたが、見つかったものはどれも、これを修正する方法の手がかりを与えてくれなかったようです。

<?php
$moncols='col1,col2,col3,col4';
$main = "SELECT $moncols FROM table1 WHERE col4 = 'yes'
         UNION
         SELECT $moncols FROM table2 WHERE col4 = 'yes'
         UNION
         SELECT $moncols FROM table3 WHERE col4 = 'yes'
         UNION
         SELECT $moncols FROM table4 WHERE col4 = 'yes'
         UNION
         SELECT $moncols FROM table5 WHERE col4 = 'yes'";
$resoult = $mon -> query($main);
while ($row = mysqli_fetch_assoc($resoult)){
$myStuff=$row['col4'];
$otherStuff=$row['col3'];
echo $myStuff. ' - ' .$otherStuff. '<br>';
}
?>

より:)

4

1 に答える 1

1

クエリにエラーがある可能性があります。おそらく、テーブルの 1 つにこれらの列の 1 つがありません。いずれにせよ、$resoult有効な mysqli 結果ではありません。エラーチェックを追加して、問題を見つけてみてください。

$resoult = $mon->query($main);
if (! resoult) {
    echo "MySQL error: " . $mon->error);
}
于 2012-08-05T18:39:56.787 に答える