作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
语句对象就是选择(Select)查询的结果。它的类型应该是DatabaseStatement,或者是DatabaseStatement的子类。DatabaseStatement扩展了PDOStatement类。
Drupal为所有的查询使用预处理语句(prepared statements)。一个预处理语句就是一个查询的模板,将会向模板中填充数值然后执行。我们可以把预处理语句看作是SQL的函数形式,需要向里面传递一些参数才可使用。
在正常的PDO中,首先必须明确的准备一个语句对象,然后把相应的值绑定到查询中的占位符上,并执行查询。接着,语句可以作为结果集被迭代处理。也就是说,在语句执行以后,语句和结果集就成为了同义词。
Drupal没有直接暴露预处理语句对象。模块开发者需要使用一个查询对象或者一个SQL字符串来执行查询,接着该查询就会返回相应的语句对象。因此,术语“语句对象”和“结果集对象”表示的含义基本相同。