Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
Доброй ночи! ) Подскажите, пожалуйста вот в чем: Слышал о том, что расширение mysql уже устарело и нужно использовать mysqli. На сколько это утверждение верно? И если оно верно, то чем первый хуже второго? в mysqli наоборот приходится больше писать, каждый раз открывать и закрывать соединение с БД. В целом не практиковал mysqli но видел как оно работает.
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Используйте mysqli - а лучше вообще PDO. mysql - устаревший драйвер, коррекция ошибок в нём давно не проводится. А в PHP 5.5 и далее mysql_* вообще будут deprecated
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
esterio
Отправлено: 06 Июня, 2013 - 23:19:54
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
teddy пишет:
каждый раз открывать и закрывать соединение
Не нужно.
teddy
Отправлено: 06 Июня, 2013 - 23:23:22
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
EuGen
Благодарю за исчерпывающий ответ )
esterio
Странно, если у нас все основано на классах либо функциях, то вроде как нужно ведь в теле функции/метода постоянно открывать и закрывать соединение? Видел несколько примеров по использованию mysqli и там все было именно так...
Efex
Отправлено: 06 Июня, 2013 - 23:27:45
Новичок
Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2012
Помог: 0 раз(а)
teddy пишет:
Странно, если у нас все основано на классах либо функциях, то вроде как нужно ведь в теле функции/метода постоянно открывать и закрывать соединение? Видел несколько примеров по использованию mysqli и там все было именно так...
В конструкторе - открыл, в диструкторе - закрыл. В чем проблема? А лучше, как сказали PDO
teddy
Отправлено: 06 Июня, 2013 - 23:32:16
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
Efex
Как вариант, но конструкторы и диструкторы не используются в процедурном подходе...
OrmaJever
Отправлено: 06 Июня, 2013 - 23:49:14
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Efex пишет:
А лучше, как сказали PDO
А чем лучше?
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
caballero
Отправлено: 07 Июня, 2013 - 00:33:45
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
В конструкторе - открыл, в диструкторе - закрыл.
и шо , в каждом объекте открывать закрывать соединение? А чем не устраивает одно соединие на страницу
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
caballero
Меня наоборот устраивает одно соединение, но только в примерах видел что постоянно открывают и закрывают... Поэтому пришел на форум за уточнением )
DelphinPRO
синглтон - я думал это связано с XML либо с фреймворками.. я где то сталкивался с ним, но точно где - забыл ) единственное что запомнил - только название )) Но точно помню что встречал его либо в XML либо в фреймворках..
Ну раз более опытные советуют забить на устаревшее, тогда пойду читать функции mysqli из мануала )
DelphinPRO
Отправлено: 07 Июня, 2013 - 00:53:13
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
LIME, почему? Экземпляр класса MYSQLI создается только один. Все как в определении синглтона.
----- Чем больше узнаю, тем больше я не знаю.
vanicon
Отправлено: 07 Июня, 2013 - 00:56:42
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
teddy, синглтон, это паттерн проектирования. Некий класс проектируется таким образом, что ни при каких условиях невозможно создать два объекта данного класса. (Добавление) vanicon, можно и так. я уже советовал такую функцию на форуме, и кто-то даже взял ее на вооружение. (Orma по-моему ) (Добавление)
только логиченее назвать ее db() и соответсвенно использовать
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.