我正在查看一个如下所示的sql语句:
...
AND col2_.col_date >= :1
AND col2_.col_date <= :2
...
而且我不知道:1和:2会做什么?
有人可以启发我,
谢谢, :)
答案 0 :(得分:10)
它们是参数化查询中的占位符,等待程序出现并提供参数。
答案 1 :(得分:2)
在运行查询时指定了一些参数 - 而不是直接在查询中将日期作为文本,它们是在运行查询时注入的参数。您所看到的是第一个和第二个占位符......服务器和提供商之间的语法各不相同。例如,有时您会看到它们的名称而不是编号等。
答案 2 :(得分:1)
这些是占位符,但不在SQL中,仅在构造SQL字符串的编程语言中。在SQL(无论如何都是PostgreSQL)中,你必须使用编号占位符$ 1,$ 2等。检查PREPARE的PostgreSQL手册或pg_query_params()的PHP手册。