我正在尝试从表 A 中选择所有结果,从表 B 中选择所有结果
我使用了这个请求:
$request_public_imgs = $BDD-> query("SELECT * FROM images_public ");
UNION("SELECT * FROM images_users WHERE img_kind='PublicImg' ")
;
但我收到此错误
致命错误:调用未定义的函数 UNION()
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
将您的 SQL 命令写成一个整体:
$request_public_imgs = $BDD-> query("SELECT id, field1, .. FROM images_public
UNION SELECT id, field1, .. FROM images_users WHERE img_kind='PublicImg' ") ;
您应该选择精确的字段,而不是使用 * 来解决性能问题。阿德里安
试试这个
$request_public_imgs = $BDD-> query("SELECT * FROM images_public
UNION SELECT * FROM images_users WHERE img_kind='PublicImg' ")
;