SQL,PHP,我可以在另一个查询中使用mysqli_query的结果吗?

时间:2014-02-08 12:39:30

标签: php sql

我可以这样做吗?

$query = "SELECT * FROM my_table";

$results = mysqli_query($db, $query)

$query = "SELECT name FROM $results";

$results = mysqli_query($db, $query)

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

没有。对于非常复杂的查询,您可以使用临时表:

CREATE TEMPORARY TABLE tmp SELECT * FROM my_table;
SELECT name FROM tmp;

但它会给mysql服务器带来很大的开销。

答案 1 :(得分:0)

在您的查询中,您将从中获取结果:

$query = "SELECT * FROM my_table";

然后尝试这样做:

$query = "SELECT name FROM $results";

我能想到你真正想做的两件事。第一个是微不足道的:

$query = "SELECT name FROM my_table";

第二个是你想从第一个查询中获取表名,并在第二个查询中使用它。您可以这样做,假设第一个查询返回一行和一列。或者第二个是在循环中,你刚刚过分简化了代码。

您可以这样做,因为您正在构建通过应用程序形成查询的字符串。您无法在基本SQL中执行此操作,因为无法动态创建表名和列名。他们可以使用prepare语句,这相当于在php中构造字符串。