Mysql-Pdo помогите
1.
Power (08.01.2011 / 01:48)
Может кто-нибудь знает как переделать запрос
$query = mysql_query('SELECT `id` FROM `files` WHERE `infolder` = "'.$d['path'].'" ORDER BY '.$MODE.' LIMIT '.$start.', '.$onpage);
while($list_sw = mysql_fetch_row($query)) $array_id[] = $list_sw[0];
в MYSQL-PDO...
Заранее благодарен
Добавлено через 02:44 сек.
$querygue = DB :: $dbh -> query("SELECT `id` FROM `files` WHERE `infolder`=? ORDER BY `timeupload` DESC LIMIT " . $start . ", " . $onpage . ";", array($d['path']));
while ($list_sw = $querygue -> fetch())$array_id[] = $list_sw[0];
Вот так, не катит!
2.
Power (08.01.2011 / 02:21)
Решил проблему
Если кому-то нужно будет, то:
$querygue = DB :: $dbh -> query("SELECT `id` FROM `files` WHERE `infolder`=? ORDER BY `timeupload` DESC LIMIT " . $start . ", " . $onpage . ";", array($d['path']));
while ($list_sw = $querygue -> fetch(PDO::FETCH_BOTH)){
$array_id[] = $list_sw[0];
}
3.
ramzes (08.01.2011 / 02:39)
пипец..и че хорошего в этом пдо?
нагромаждение кода
4.
Lugaro (08.01.2011 / 02:58)
3.
ramzes, Чем нагромождает? этим fetch(
PDO::FETCH_BOTH) ?
В основном чаще всего используется FETCH_ASSOC, после соединения можно указать как по умолчанию обрабатывать и потом просто писать $db->query(...)->fetch() намного удобней чем mysql_fetch_assoc(mysql_query(..))
5.
ramzes (08.01.2011 / 03:02)
4.
.::lugaro::., всем, в 1.5 больше кода, а выгода в чем?
Добавлено через 00:35 сек.
разуж тема не актуальна то можно пофлудить))
6.
Lugaro (08.01.2011 / 03:12)
Он работает с довольно широким списком баз, меньше гемороя при переезде, написан на С и работать будет быстрее чем подобный класс на РНР
7.
Power (08.01.2011 / 03:21)
я не использую ротор, но мне по душе пдо... скорость выше... и просто нравится
8.
ramzes (08.01.2011 / 03:31)
6.
.::lugaro::., покажи мне хоть кого то тут кто реально переводил проект с одной бд на другую?;)
это весьма эфемерный плюс
скорость ощутимо выше или просто так в обзорах написанно?
9.
Power (08.01.2011 / 03:33)
я вижу, что быстрее
10.
Lugaro (08.01.2011 / 03:34)
Не сказал бы что скорость выше.. просто как по мне удобней да и если уж так приспичит действующий проект перенести на что другое то это будет не так тяжело сделать, объект всего лишь сменить на обвертку для другого класса =)
11.
ramzes (08.01.2011 / 03:37)
10.
.::lugaro::., прикинь, какие причины могут вынудить перейти на другую бд?
эти же причины на 99% вынудят перебрать сами запросы, на предмет ***кода и "а вот тут мы пойдем другим путем"))
Добавлено через 00:54 сек.
9.
Power, в чем выражается? циферки
12.
Power (08.01.2011 / 03:39)
11.
ramzes, ммм нет!
13.
Lugaro (08.01.2011 / 03:40)
8.
ramzes, ну как сказать, есть же различные коммерческие проекты и это большой плюс когда юзер может выбрать то что ему больше подходит, просто понимаешь, одно дело изначально готовить скрипт для работы на различных базах, а другое дело вкручивать это в уже готовый скрипт, с того же mysql на sqlite перенести не так уж и удобно, хорошо если скрипт маленький, а если это cms'ка какаято на несколько mb кода... запаришься править запросы и отлавливать где они не так работают
Добавлено через 05:50 сек.
11.
ramzes, я имел введу что если с PDO срулить захочется на что-то другое т.е с самого класса, а база то одна останется и чтоб другой класс встал, придется всего лишь обвертку написать
14.
ramzes (08.01.2011 / 03:46)
13.
.::lugaro::., ну на счет со сколайт на мускул это я пробывал, обошлось в 20 строк кода, небольшой класс
нет я понимаю что возможность смены бд это плюс, вопрос в другом, сколько из написанных на пдо скриптов будут подразумевать такую возможность?
тоесть иметь хотя бы простой переключатель?
почти ни одного)) (я про те скрипты которые пишут любители, а не про всякие веб порталы)
так вот, в чем плюс то?
З.Ы. сколайт удобнее мускула в некоторых местах))
15.
Lugaro (08.01.2011 / 03:51)
ramzes (8 Января 2011 / 02:46)
13. .::lugaro::., ну на счет со сколайт на мускул это я пробывал, обошлось в 20 строк кода, небольшой класс
нет я понимаю что возможность смены бд это плюс, вопрос в другом, сколько из написанных на пдо скриптов будут подразумевать такую возможность?
тоесть иметь хотя бы простой переключатель?
почти ни одного)) (я про те скрипты которые пишут любители, а не про всякие веб порталы)
так вот, в чем плюс то?
З.Ы. сколайт удобнее мускула в некоторых местах))
Даже незнаю, наверно модно так
ЗЫ
http://proft.com.ua/2008/11/28/primery-ispolzovaniya-pdo/
16.
ramzes (08.01.2011 / 03:56)
15.
.::lugaro::., занятно
похоже на сколайт чем то,
мускули класс разве не на си++ написан?
17.
Lugaro (08.01.2011 / 04:03)
16.
ramzes, Ну я имел введу что если тебе потребуется подобный функционал как в PDO, то твой класс будет медленней, да и вообще это дело вкуса, есть же ещё куча подобного барахла которое по быстрей PDO будет, найти бы ещё время чтоб всё это освоить...
18.
ramzes (08.01.2011 / 04:09)
17.
.::lugaro::., вот вот
а надо оно?
19.
Lugaro (08.01.2011 / 04:17)
Если пишешь не для себя то, хотя бы основу знать не помешало бы
Добавлено через 06:24 сек.
Кстати, заметил после появления ротора чета все начали активно PDO интересоваться
хотябы год тума назад, редко что-то подобное поднималось на форму, ещё и новое слово выучили
mvc после мобилцмс
20.
ramzes (08.01.2011 / 05:02)
19.
.::lugaro::., )))) я по этому и начал)))
скоро на реврайт роутеры перейдут или еще новомодное))
21.
Lugaro (08.01.2011 / 05:29)
я уже давно перешел
22.
ramzes (08.01.2011 / 05:34)
.::lugaro::. (8 Января 2011 / 05:29)
я уже давно перешел
я уж год как))
тсс.. попсеем *хаха*
23.
Lugaro (08.01.2011 / 05:36)
ток не на реврайт а на рнр роутинг, он удобней, да читал где-то что реврайт морозит сервер
24.
ramzes (08.01.2011 / 05:50)
23.
.::lugaro::., реврайт это перезапись)) не обязательно модуль апача
я и имел ввиду пхп роутер
25.
Дмитрий (08.01.2011 / 08:23)
Нашли о чем поспорить.
http://www.ruseller.com/lessons.php?rub=28&id=610
26.
Валерий (08.01.2011 / 10:55)
.::lugaro::.
В основном чаще всего используется FETCH_ASSOC, после соединения можно указать как по умолчанию обрабатывать и потом просто писать $db->query(...)->fetch()
Можешь объяснить как указать по умолчанию? А то я как дурак везде пишу fetch(A), где A - константа = PDO::FETCH_ASSOC
27.
Валерий (08.01.2011 / 11:08)
По поводу преимуществ PDO, могу привести пример, где в PDO кода будет меньше, чем без него.
К примеру нужно сделать несколько одинаковых запросов.
mysql_query("UPDATE table SET name='$name1' WHERE id='$id1';");
mysql_query("UPDATE table SET name='$name2' WHERE id='$id2';");
mysql_query("UPDATE table SET name='$name3' WHERE id='$id3';");
mysql_query("UPDATE table SET name='$name4' WHERE id='$id4';");
mysql_query("UPDATE table SET name='$name5' WHERE id='$id5';");
На pdo это будет выглядеть так:
$res=$db->prepare("UPDATE table SET name=? WHERE id=?;");
$res->execute(Array($name1,$id1));
$res->execute(Array($name2,$id2));
$res->execute(Array($name3,$id3));
$res->execute(Array($name4,$id4));
$res->execute(Array($name5,$id5));
И чем больше запрос, тем больше разницы.
28.
Lugaro (08.01.2011 / 11:17)
26.
valerik, $object->setAttribute(PDO :: ATTR_DEFAULT_FETCH_MODE, PDO :: FETCH_ASSOC);
Добавлено через 09:19 сек.
27.
valerik,
$sql = "UPDATE table SET name='%s' WHERE id='%s';";
mysql_query(sprintf($sql, $name1, $id1));
mysql_query(sprintf($sql, $name2, $id2));
mysql_query(sprintf($sql, $name3, $id3));
mysql_query(sprintf($sql, $name4, $id4));
mysql_query(sprintf($sql, $name5, $id5));
ЗЫ прикол prepare не в краткости
ЗЫЗЫ меня кстати вымораживает что execute экранирует ковычки... может его и можно вырубить, только вот искать лень
29.
Power (08.01.2011 / 11:30)
25.
LondoN_tm, Вот эту статью я читал
И именно по-этому выбираю PDO
30.
ramzes (08.01.2011 / 15:21)
27.
valerik, шаблоны и в мускули есть
31.
Валерий (08.01.2011 / 16:36)
я начал pdo использовать, потому что прочитал, что оно быстрее.
проверять конечно не стал ничего.. наслово верю.
32.
Studentsov (08.01.2011 / 18:56)
юзаешь PDO и моментально забываешь про всякие mysql_escape_string
33.
Power (08.01.2011 / 18:57)
32.
Studentsov_нет_ничо1, Ты поддерживаешь PDO?
34.
Studentsov (08.01.2011 / 19:02)
разумеется
35.
delete (08.01.2011 / 19:14)
хочу SQLITE-PDO освоить, мануал бы хороший где нибудь нарыть))
36.
Studentsov (08.01.2011 / 19:16)
дык ничем же почти не отличается от pdo-mysql. Только создание таблиц и поиск различен
37.
delete (08.01.2011 / 19:20)
а не эт не то
URL:
https://visavi.net/topics/17440