Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何创建多个表?_Php_Mysql - Fatal编程技术网

Php 如何创建多个表?

Php 如何创建多个表?,php,mysql,Php,Mysql,我想从两个表中检索数据(本例中的名称),并将它们显示到一个表中。两个表中的列相同 我可以这样做吗: $result=mysql_query("select table1.name, table2.name from table1, table2 where id='$pid'"); 按如下方式更改列的名称: $result=mysql_query("select t1.name name1, t2.name name2

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

我可以这样做吗:

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

按如下方式更改列的名称:

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

$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
的值来自外部源,则在对服务器进行查询之前,应该真正准备好数据。您可以创建自己的,也可以使用通过数据绑定为您完成工作的函数。

我尝试了它,但出现了一个错误:where子句中的列“id”是不可定义的1。id=“$pid”"); 由于您使用多个表,所以不要让列名模棱两可。。总是把他们的表名和点放在列名之前。当我使用时,我只从表2中获取数据。我的观点是,例如,当我搜索一部电影时,我选择从两个不同的表(表1、表2)中购买两部电影,我希望所选电影显示在一个表中。我不知道我解释了多少,但我希望你明白我的意思。@Isabella:我真的不明白你在问什么。我认为您之所以只获得表2的名称,是因为结果存在名称冲突,因为两者都被称为name。我编辑了原始查询以使用列别名。这应该可以解决冲突。现在,您将通过别名引用结果,如
$row->table1\u name
。我希望这有帮助。