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

UNION是一个MySQL函数,因此你需要把它放在里面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 回答
3

将您的 SQL 命令写成一个整体:

$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 回答
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 回答