[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Переход с "mysql" на "mysqli"
Страницы: 1, 2
Guest
Игорь_Vasinsky
Цитата
ровно на столько же на сколько и переход на PDO, например.

В mysqli расширении есть один большой недостаток, это отсутствие именованных параметров. Более менее сложные запросы уже пестрят при упорядоченных параметрах. В этом случае PDO с именованными параметрами намного удобней. Да и тесты показывают незначительный выигрыш в производительности в основном PDO.
allanmiln
Да я свой проект пишу, а тут сюрприз...
Игорь_Vasinsky
Цитата
В mysqli расширении есть один большой недостаток, это отсутствие именованных параметров.

для меня это не существенно.

существенно - как я и говорил:
Цитата
мне процедурный mysqli практически без болезненно дал возможность адаптироваться от mysql


пока что я решил для себя принципиально: обойти ооп в php стороной.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
twin
Цитата (Guest @ 12.02.2013 - 18:15)
Игорь_Vasinsky
Цитата
ровно на столько же на сколько и переход на PDO, например.

В mysqli расширении есть один большой недостаток, это отсутствие именованных параметров. Более менее сложные запросы уже пестрят при упорядоченных параметрах. В этом случае PDO с именованными параметрами намного удобней. Да и тесты показывают незначительный выигрыш в производительности в основном PDO.

Для кого как. Я вот не считаю это недостатком, скорее даже наоборот.

Не вижу смысла в именованных плэйсхолдерах, они извращают суть SQL так же, как шаблонизация извращает суть PHP.

Вообще обленились все с этими PDO, все надеетесь на автоматику. А она бывает и подводит))) В PDO тоже не обошлось без глюков. Да и приведись работать на чистом SQL, начнется скрип.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Nikitian
twin
Ничего не извращают, если я правильно понимаю о чём речь. Вот сравни псевдокод (на самом деле, это мой велосипед и оба варианта возможны, но использую первый):

$input = array(
'var1'=>'somedata',
'var2'=>'somedata2',
);


$output = $this->db->get('
select
*
from
#tbl_name#
where
`field1`=:var1: or
`field2`=:var2: or
`field3`<>:var1:
'
,$input);

и

$output = $this->db->get('
select
*
from
#tbl_name#
where
`field1`="'
.$this->db->escape($input['var1']).'" or
`field2`="'
.$this->db->escape($input['var2']).'" or
`field3`<>"'
.$this->db->escape($input['var1']).'"
'
);


Оба варианта вроде как читаемы, но первый существенно короче и без лишнего мусора.
А вот для сравнения код из одного из поддерживаемых сайтов, где используются не именованные плейсхолдеры:

$db->Execute("UPDATE poll SET title = ?,data = ?,
rubric = ?,date = ?,count = ?,ontop = ?,img = ?,
subrubric = ?,url = ?,smalldata = ?,slider1 = ?,commentbox = ? WHERE id = ?"
,
array($form->title,$form->data,
$form->rubric,$form->date,$form->count,$form->ontop,$Image->fname,$form->subrubric,
$form->url,$form->smalldata,$form->slider1,$form->commentbox,$eid));

Честно, я через раз путаюсь что куда подставляется.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.