0

テーブル A のすべての結果とテーブル B のすべての結果を選択しようとしています
。このリクエストを使用しました。

$request_public_imgs = $BDD-> query("SELECT * FROM images_public ");
    UNION("SELECT * FROM images_users  WHERE img_kind='PublicImg' ")
    ;

しかし、私はこのエラーを受け取ります

致命的なエラー: 未定義関数 UNION() の呼び出し

4

3 に答える 3

3

SQL コマンドを 1 つのピースとして記述します。

$request_public_imgs = $BDD-> query("SELECT id, field1, .. FROM images_public 
   UNION SELECT id, field1, .. FROM images_users  WHERE img_kind='PublicImg' ") ;

正確なフィールドを選択し、パフォーマンスの問題で * を使用しないでください。エイドリアン

于 2013-09-17T12:33:21.097 に答える
3

UNIONMySQL関数なので、 の中に入れる必要がありますquery():

$request_public_imgs = $BDD-> query("
SELECT * FROM images_public
    UNION
SELECT * FROM images_users  WHERE img_kind='PublicImg' ");

より一般的には、すべてのクエリは次のように機能します。

$request_public_imgs = $BDD-> query("YOUR_MYSQL_QUERY");

このエラーは、PHP の機能ではないことFatal error: Call to undefined function UNION()を警告していたことに注意してください。UNION

于 2013-09-17T12:32:39.953 に答える
0

これを試して

$request_public_imgs = $BDD-> query("SELECT * FROM images_public 
    UNION SELECT * FROM images_users  WHERE img_kind='PublicImg' ")
    ;
于 2013-09-17T12:32:50.720 に答える