如何多表?

时间:2012-01-30 00:05:44

标签: php mysql

我想从两个表中检索数据(本例中的名称)并将它们显示在表中。两个表中的列都相同。

我可以这样做:

$result=mysql_query("select table1.name, table2.name 
                      from table1, table2 where   id='$pid'");

2 个答案:

答案 0 :(得分:1)

更改列的名称,如下所示:

$result=mysql_query("select t1.name name1, t2.name name2 
                      from table1 t1, table2 t2 
                      where t1.id=t2.id and t1.id='$pid'");

答案 1 :(得分:1)

试试这个:

$result = mysql_query("select table1.name as 'table1_name', table2.name as 'table2_name' from table1, table2 where table1.id='$pid' and table2.id='$pid'");

另请注意,如果$pid的值来自外部源,则应在对服务器进行查询之前准备好数据。您可以创建自己的filter function,也可以使用mysqli::prepare函数通过数据绑定为您完成工作。