使用MySQL和PHP执行查询

使用MySQL和PHP执行查询,php,mysql,sql,Php,Mysql,Sql,我怎样才能做这样的事情: $query = "SELECT a,b FROM c ORDER BY a"; $query1 = "SELECT a,b FROM '".$query."' WHERE a='".$number."'"; 多谢各位 真实案例 $query2 = "SELECT numero,spartenza,sarrivo,opartenza,oarrivo FROM treni ORDER BY opartenza"; $query1 = "SELECT spartenz

我怎样才能做这样的事情:

$query = "SELECT a,b FROM c ORDER BY a";

$query1 = "SELECT a,b FROM '".$query."' WHERE a='".$number."'";
多谢各位

真实案例

$query2 = "SELECT numero,spartenza,sarrivo,opartenza,oarrivo FROM treni ORDER BY opartenza";

$query1 = "SELECT spartenza,sarrivo,opartenza,oarrivo,TIMEDIFF(oarrivo,opartenza) FROM (".$query2.") AS 'ordinata' WHERE numero = '".$id_treno."' ORDER BY opartenza";

用括号括起来:

$query1 = "SELECT a,b FROM (".$query.") AS `alias` WHERE a='".$number."'";
像这样的子查询需要使用别名

真实案例

$query=“从treni选择spartenza、sarrivo、opartenza、oarrivo、TIMEDIFF(oarrivo、opartenza),其中numero=”“$id_treno。”“按opartenza订购”

对此,您根本不需要子查询。您可以按未选择的列进行排序。不过有一个建议是将
TIMEDIFF
函数别名为这样,这样更容易检索

$query = "SELECT spartenza,sarrivo,opartenza,oarrivo,TIMEDIFF(oarrivo,opartenza) AS `timediff_alias` FROM treni WHERE numero = '".$id_treno."' ORDER BY opartenza";

除了语法不正确之外,这不是一个安全的查询。你应该使用事先准备好的陈述。这里的一些例子很清楚,OP询问如何执行子查询。我还想知道,如果可以使用字符串插值,为什么要使用连接。这并不能回答问题,只是指出了错误。事实上,它完美地回答了问题。不幸的是,它不起作用。我得到以下错误:警告:mysqli_error()期望参数1为mysqli,在第134行的/Applications/XAMPP/xamppfiles/htdocs/viewtreni.php中给出null,这是一个完全无关的问题。查阅文档了解
mysqli_error()的语法;别名的语法是双引号,在MySQL中是反勾号。单引号不行。