从数据库中选择多个表

时间:2013-11-06 12:41:54

标签: php mysql

我正在尝试使用我的php代码来读取数据库中的两个表。就像它在一个表中不存在一样,它将检查另一个并查看。

$mystyle = mysql_query("SELECT * FROM images WHERE `name` = '$name'"); 

如何从表格图像和表格images_2

中读取

我试过这样做:[但当然没有工作]

$mystyle = mysql_query("SELECT * FROM images, images_2 WHERE `name` = '$name'"); 

3 个答案:

答案 0 :(得分:5)

使用UNION(隐式不同)或UNION ALL

SELECT * FROM images WHERE `name` = '$name'
UNION ALL
SELECT * FROM images_2 WHERE `name` = '$name'

假设imagesimages_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;

http://dev.mysql.com/doc/refman/5.0/en/union.html