【发布时间】:2015-11-09 04:07:51
【问题描述】:
只是想知道这是如何附加到尚未执行的 SQL 语句的吗?
$select = $select & "ORDER BY orderDate ASC";
【问题讨论】:
-
这不是 SQL。这可能是 PHP 和字符串操作
-
您可能需要在 ORDER 之前留一个空格。
标签: php sql command append add
只是想知道这是如何附加到尚未执行的 SQL 语句的吗?
$select = $select & "ORDER BY orderDate ASC";
【问题讨论】:
标签: php sql command append add
实际上,直接字符串连接不是很好的做法,如果有可能从一个数据库驱动程序切换到另一个数据库驱动程序,例如,PostgreSQL 不支持列名的反引号(即SELECT ``field`` from table)。
因此,可能最好为此使用一些查询构建框架。
就像Laravel 使用它自己的构建器,称为Eloquent。在Eloquent 中,您可以像这样构建您的请求:
$q = DB::table("table_name")
->select(["name", "sum(a) as total"])
->where("age", ">", 20);
然后像这样获取数据:
$data = $q->get();
之后可以修改查询并再次获取:
$beforeFourty = $q->where("age", "<", 40)
->take(10)
->get();
等等……
【讨论】:
这取决于语言。 在直接 SQL 中(不是在 PHP 中创建 SQL 语句),它看起来像:
SET @select = @select + ' ORDER BY orderDate ASC';
【讨论】: