我正在尝试使用我的php代码来读取数据库中的两个表。就像它在一个表中不存在一样,它将检查另一个并查看。
$mystyle = mysql_query("SELECT * FROM images WHERE `name` = '$name'");
如何从表格图像和表格images_2
中读取我试过这样做:[但当然没有工作]
$mystyle = mysql_query("SELECT * FROM images, images_2 WHERE `name` = '$name'");
答案 0 :(得分:5)
使用UNION
(隐式不同)或UNION ALL
:
SELECT * FROM images WHERE `name` = '$name'
UNION ALL
SELECT * FROM images_2 WHERE `name` = '$name'
假设images
和images_2
具有相同的表格结构,否则您必须明确列出列名称,而不是SELECT *
。
请注意:使用PDO代替Mysql_*
个函数,它已被弃用且易受SQL Injection攻击。
答案 1 :(得分:0)
我认为您必须返回SELECT
图片上的行数,如果为零,则针对images_2运行SELECT
答案 2 :(得分:0)
您可以使用UNION,
(SELECT 1 AS sort_col, col1a, col1b, ... FROM t1)
UNION
(SELECT 2, col2a, col2b, ... FROM t2) ORDER BY sort_col;