我可以这样做吗?
$query = "SELECT * FROM my_table";
$results = mysqli_query($db, $query)
$query = "SELECT name FROM $results";
$results = mysqli_query($db, $query)
非常感谢任何帮助!
答案 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中构造字符串。