0

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

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

我如何让它从表格图像和表格图像_2中读取

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

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

3 回答 3

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 注入攻击。

于 2013-11-06T12:42:47.910 回答
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

于 2013-11-06T12:47:08.827 回答
0

我认为您将必须从SELECTon 图像中返回行数,如果为零,则SELECT针对 images_2运行

于 2013-11-06T12:43:44.433 回答