是可以设置一个默认的PDO获取模式?

在我检索数据之前,我必须input:

$STH->setFetchMode(PDO::FETCH_OBJ); 

为了使我的代码更具可读性,如果我可以在某个地方设置默认模式,那就太好了….

谢谢!

编辑 。 我最初希望能够将PDO:FETCH_OBJ添加到我连接到数据库时运行的setAttribute代码中,但似乎不起作用…

 $connection = new PDO($connection_string); $connection->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); 
 $dsn = 'mysql:host='.$db_server.';dbname='.$db_name.';port='.$db_port; $driver_options = array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'", PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ, ); $dbh = new PDO( $dsn, $db_user, $db_pass, $driver_options ); 

有很多方法可以做到这一点,但我做到了,因为我想成为它。 对于端口为3306MySQL ,在PDO中。 我做一个string名称$dsn 。 现在我打电话给新的PDO $db = new PDO(...)

当你初始化你的数据库连接时,你需要使用PDO::FETCH_OBJ ,你可以用不同的方法做到这一点,但是我把内联数组作为new PDO PDO::FETCH_OBJ参数。

 $dsn = 'mysql:dbname=test;host=localhost;port=3306'; $username = 'root'; $password = ''; $db = new PDO($dsn, $username, $password, array ( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ ));