Можно ли установить режим выборки PDO по умолчанию?

Прежде чем я получаю данные, мне всегда нужно вводить:

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

В интересах сделать мой код более читаемым, было бы здорово, если бы я мог установить режим по умолчанию где-то ….

Благодаря!

Изменить . Я изначально надеялся, что я могу добавить PDO: FETCH_OBJ в код setAttribute, который я запускаю, когда я подключаюсь к БД, но это, похоже, не работает …

Solutions Collecting From Web of "Можно ли установить режим выборки PDO по умолчанию?"

 $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 ); 

Есть несколько способов сделать это, но я делаю это так, как хочу. Для MySQL с портом 3306 в PDO. Я делаю строковые имена $dsn . Теперь я делаю вызов для нового PDO с $db = new PDO(...) .

Вам нужно использовать PDO::FETCH_OBJ когда вы инициализируете соединение с базой данных. Вы можете сделать это различными способами, но я сделал это встроенным массивом как четвертый параметр new PDO .

 $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 ));