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...
Заранее благодарен smile

Добавлено через 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)
Решил проблему smile
Если кому-то нужно будет, то:
$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)
я не использую ротор, но мне по душе пдо... скорость выше... и просто нравится smile

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 строк кода, небольшой класс
нет я понимаю что возможность смены бд это плюс, вопрос в другом, сколько из написанных на пдо скриптов будут подразумевать такую возможность?
тоесть иметь хотя бы простой переключатель?
почти ни одного)) (я про те скрипты которые пишут любители, а не про всякие веб порталы)
так вот, в чем плюс то?
З.Ы. сколайт удобнее мускула в некоторых местах))
Даже незнаю, наверно модно так crazy
ЗЫ http://proft.com.ua/2008/11/28/primery-ispolzovaniya-pdo/

16. ramzes (08.01.2011 / 03:56)
15. .::lugaro::., занятноsmile
похоже на сколайт чем то,
мускули класс разве не на си++ написан?

17. Lugaro (08.01.2011 / 04:03)
16. ramzes, Ну я имел введу что если тебе потребуется подобный функционал как в PDO, то твой класс будет медленней, да и вообще это дело вкуса, есть же ещё куча подобного барахла которое по быстрей PDO будет, найти бы ещё время чтоб всё это освоить...

18. ramzes (08.01.2011 / 04:09)
17. .::lugaro::., вот вотsmile а надо оно?

19. Lugaro (08.01.2011 / 04:17)
Если пишешь не для себя то, хотя бы основу знать не помешало бы

Добавлено через 06:24 сек.
Кстати, заметил после появления ротора чета все начали активно PDO интересоваться D хотябы год тума назад, редко что-то подобное поднималось на форму, ещё и новое слово выучили mvc после мобилцмс crazy

20. ramzes (08.01.2011 / 05:02)
19. .::lugaro::., )))) я по этому и начал)))
скоро на реврайт роутеры перейдут или еще новомодное))

21. Lugaro (08.01.2011 / 05:29)
я уже давно перешел cry

22. ramzes (08.01.2011 / 05:34)
.::lugaro::. (8 Января 2011 / 05:29)
я уже давно перешел cry
я уж год как))
тсс.. попсеем *хаха*

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)); 
E
ЗЫ прикол prepare не в краткости
ЗЫЗЫ меня кстати вымораживает что execute экранирует ковычки... может его и можно вырубить, только вот искать леньcrazy

29. Power (08.01.2011 / 11:30)
25. LondoN_tm, Вот эту статью я читал smile И именно по-этому выбираю PDO krut

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 smile

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