Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: PDO PHP MYSQL

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
taig
Отправлено: 13 Сентября, 2016 - 20:31:36
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Авг. 2016  


Помог: 0 раз(а)




Как грамотнее всего делать подключения и запросы?
1)В подключении
try {
$this->db = new \PDO('mysql:host='.$this->host.';dbname='.$this->dbname.';charset=utf8', 'root', '',$this->Attr);
$this->db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

} catch (PDOException $e) {
file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
}
2)и Допустим запрос к бд
function Select($query){
$q = $this->db->prepare($query);
$q->execute();

if($q->errorCode() != PDO::ERR_NONE){
$info = $q->errorInfo();
file_put_contents('PDOErrors.txt', $info[2], FILE_APPEND);
}

return $q->fetchAll();
}
а)Т.е. запросы к бд тоже лучше в блок try catch засовывать?
б)Использывать ли beginTransaction, rollback,commit и в каких случаях их лучше использывать?

(Отредактировано автором: 13 Сентября, 2016 - 20:58:49)

 
 Top
3d_killer
Отправлено: 14 Сентября, 2016 - 00:41:07
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




не нужно запросы засовывать в try, будет тонна бесполезного кода, транзакции использовать нужно в зависимости от проекта, если у вас за действие происходит несколько запросов записи, например в интернет магазине (создание заказа, тут же списание со склада) то желательно использовать транзакции, но они работают на определенном типе таблиц
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB