作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
db_query()的第3个参数,也就是连接对象query方法的第3个参数,是一个选项数组,用来指示查询应该如何执行。对于大多数的查询来说,常用的指令只有两个。其它值则大多数时候在内部使用。
"target"键用来指定所要使用的目标数据库。如果没有指定,则使用默认的"default"。在下面的例子中,有效值只有一个"slave",这表示如果存在一个从数据库,查询则运行在它的上面。
"fetch"键用来指定用何种方式,来获取查询返回的结果记录。有效的值包括PDO::FETCH_OBJ、PDO::FETCH_ASSOC、PDO::FETCH_NUM、PDO::FETCH_BOTH,或者是一个表示类名的字符串。如果指定的是一个字符串,取回的每条记录都会被放在该类的一个新创建的对象中。其它值对应的行为是由PDO定义的,将返回的记录相应的存放在stdClass对象中、关联数组中、数值数组中、或者数值和关联数组中。有关PDO的相关信息可参考http://php.net/manual/en/pdostatement.fetch.php。默认值为PDO::FETCH_OBJ,通常情况下,尽可能的使用默认值就可以了,在特定情况下,也可以改用其它值。
下面的例子,将在从服务器上(如果存在的话)执行一个查询,并将从结果集中返回的记录存放在关联数组中。
<?php
$result = db_query("SELECT nid, title FROM {node}", array(), array(
'target' => 'slave',
'fetch' => PDO::FETCH_ASSOC,
));
?>