从数据库的两个表中检索数据并使用php显示它

时间:2015-05-08 16:06:18

标签: php mysql database

我创建了一个名为(insert)的数据库,它有两个表table1和table.2。

char有3列table1

user, id, roll有2列table2

我在两个表中插入了值。我想从两个表中检索所有值并在另一个php文件中显示它们,但我的查询不起作用。它显示错误。我该怎么办?这是我的代码

id, menu

3 个答案:

答案 0 :(得分:2)

将查询更改为

$sql = "SELECT table1.user, table1.id FROM table1, table2 WHERE    table1.id=table2.id";

答案 1 :(得分:2)

您的表需要唯一标识符(别名):

$sql = "SELECT t1.user, t1.id FROM table1 t1, table2 t2 WHERE t1.id=t2.id";

可能更好的是LEFT JOIN:

$sql = "SELECT t1.user, t1.id FROM table1 t1 LEFT JOIN table2 t2 on t1.id=t2.id";

答案 2 :(得分:1)

(编辑:前几句话不正确。在我的第一眼看到我看到你为一列指定了一个表,但错过了你没有为id指定一个表。因为它们共享相同的值,选择一个表并指定它。你应该总是使用显式或隐式JOINS指定表。但是,首先要做的是第一个。)

我猜你的查询实际上有效,如果你测试它。查询没有任何内在错误(尽管我总是建议使用显式JOINS)。

有一个很好的理由说明您提供的示例代码无效...

你错过了$result = mysqli_query($sql):

然后可以使用mysqli_fetch_array($result)

mysqli_fetch_array()需要结果,而不是SQL字符串。

请注意,您应使用mysqli而不是mysql