|
|
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 15:45:32 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 15:47:34 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
К чему все это? Хоть бы мало-мальское экранирование/проверки сделали. Иначе при любых отклонениях во входных данных - либо ошибка синтаксиса, либо SQL-инъекция, либо непредсказуемое поведение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 15:49:31 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
miksoft, $this->quote($text) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 15:50:01 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 15:50:44 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррmiksoft, $this->quote($text)И что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 15:52:32 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
miksoft, оно экранируется и оборачивается в кавычки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 15:54:25 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррmiksoft, оно экранируется и оборачивается в кавычкиАга, один-единственный входной параметр из показанных пары десятков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:04:20 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
miksoft, типа $table и прочие? Какой дебил их будет из адресной строки получать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:07:37 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррmiksoft, типа $table и прочие? Какой дебил их будет из адресной строки получать?А про будет/не будет - ничего в исходном посте не написано. Область применения этого кода вообще не определена. Да, собственно, и существование людей, способных засунуть данные из HTTP-запроса напрямую в SQL-запрос, оспаривать вряд ли возможно. Иначе откуда такое обилие SQL-инъекций на сайтах по всему интернету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:13:36 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
И, кстати, в приведенном коде напрочь отсутствует какая-либо обработка ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:15:08 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррmiksoft, типа $table и прочие? Какой дебил их будет из адресной строки получать? Некоторые дебилы их ещё методом POST передают/получают. Отладчик (встроенный или фидлер) рулит!. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:15:45 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
miksoftНяша рррmiksoft, типа $table и прочие? Какой дебил их будет из адресной строки получать?А про будет/не будет - ничего в исходном посте не написано. Область применения этого кода вообще не определена. Да, собственно, и существование людей, способных засунуть данные из HTTP-запроса напрямую в SQL-запрос, оспаривать вряд ли возможно. Иначе откуда такое обилие SQL-инъекций на сайтах по всему интернету. Это все рассуждения на тему. Необоснованная критика засчитана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:17:12 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
ShSergeНяша рррmiksoft, типа $table и прочие? Какой дебил их будет из адресной строки получать? Некоторые дебилы их ещё методом POST передают/получают. Отладчик (встроенный или фидлер) рулит!. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:18:16 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррmiksoftпропущено... А про будет/не будет - ничего в исходном посте не написано. Область применения этого кода вообще не определена. Да, собственно, и существование людей, способных засунуть данные из HTTP-запроса напрямую в SQL-запрос, оспаривать вряд ли возможно. Иначе откуда такое обилие SQL-инъекций на сайтах по всему интернету. Это все рассуждения на тему. Необоснованная критика засчитана.Нет, это не просто рассуждения. Я, увы, слишком часто вижу топики новичков, конкатенирующих в SQL-запрос все, что попало. Вы уверены, что ваш код никогда к такому новичку не попадет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:20:48 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
miksoftК чему все это?Повторяю свой вопрос. Зачем этот код, кроме как для экономии нескольких букв при вызове стандартных функций? Проверки входных данных почти нет, обработки ошибок нет, логирования (или еще какой помощи для отладки) нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:24:35 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
miksoft, есть try catch'ем отлавливаются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:27:38 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:28:30 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррtryВ представленном коде не вижу такого. Да и не всегда ошибки являются исключениями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:29:20 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:43:09 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
miksoftНяша ррр Код: php 1. Кстати, а вы, случаем, не mysqli изобретаете? о нем всем прекрасно известно, можно еще вспомнить PDO и прочее, да для них всех пишут обертки. Лучше бы подсказали что придумать для встроенных функций и констант SQL. Поясняю: Код: php 1. Сгенерирует такую SQL-строку и отправит на сервер: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:51:36 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
miksoft, приходит в голову тока проверять на instance of обертку в виде класса сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:53:13 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
авторЛучше бы подсказали что придумать для встроенных функций и констант SQL какой смысл придумывать то, что и так неплохо реализовано средствами самого SQL?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:56:08 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
?????авторЛучше бы подсказали что придумать для встроенных функций и констант SQL какой смысл придумывать то, что и так неплохо реализовано средствами самого SQL?! Не в тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 16:58:32 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
miksoft...Зачем этот код, кроме как для экономии нескольких букв... Как раз букв будет существенно больше. А толку, насколько я понимаю, никакого. А всё из-за того, что топикстартер так и не ответил зачем это ему нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 17:07:02 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
авторА всё из-за того, что топикстартер так и не ответил зачем это ему нужно. +100500! гыгы ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 17:17:08 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
ShSergemiksoft...Зачем этот код, кроме как для экономии нескольких букв... Как раз букв будет существенно больше. А толку, насколько я понимаю, никакого. А всё из-за того, что топикстартер так и не ответил зачем это ему нужно. Код: php 1. 2. 3. 4. 5. 6. 7. В случае с UPDATE ещё удобнее Код: php 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 17:22:37 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
?????, мимо тащем-то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 17:23:56 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
*$db->update('users', $user, 1); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 17:25:16 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррВ случае с UPDATE ещё удобнее Код: php 1. 2. 3. Тут очень много "если". А что, если поле, по которому нужно найти записи не `id` ? А что, если вернется несколько записей? А что, если не вернется ни одной записи? А что, если в таблице users вообще нет поля id? А если начать оборачивать ваш код проверками, то в итоге все еще не ясно, какой код короче окажется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 17:33:40 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
miksoft, Код: php 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 17:44:35 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
miksoft, хотя может кому-нить и удобно писать везде mysql_query() || die(mysql_error()) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 17:47:30 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррmiksoft, Код: php 1. 2. 3. 4. 5. 6. 7. 8. "$db->query(), $db->find(), $db->insert(), $db->update(), $db->delete()" - это, как я понимаю, предполагаются вызовы этих функций? Ну и как узнавать, в какой из них произошло исключение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 17:51:59 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррmiksoft, хотя может кому-нить и удобно писать везде mysql_query() || die(mysql_error())Новичкам явно удобнее. Им дай бог хэлп по стандартным функциям освоить. А тут еще какую-то дополнительную обертку надо изучать, в которой грабли те же, но лучше замаскированы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 17:53:40 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
miksoftНяша рррmiksoft, хотя может кому-нить и удобно писать везде mysql_query() || die(mysql_error())Новичкам явно удобнее. Им дай бог хэлп по стандартным функциям освоить. А тут еще какую-то дополнительную обертку надо изучать, в которой грабли те же, но лучше замаскированы. Мне дела нет до новичков особого, debug_backtrace можно вызвать и указать, хотя если намеренно ошибки не отлавливать то сам PHP укажет место ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 17:56:46 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
т.е. не ошибки, а исключения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 17:59:33 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррМне дела нет до новичков особогоНу вот, опять приходим к тому, что цели и задачи этого кода не определены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 17:59:53 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 18:23:13 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Или так: Код: php 1. 2. Строки пускай по-умолчанию эскейпется. Лан мне все равно никто ничем не помог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 18:41:55 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррЛан мне все равно никто ничем не помог.А при имеющихся столь скудных вводных, ничего, кроме общего теоретизирования, и не ждите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 19:26:28 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррНе в тему. Все что не совпадает с мнением - все не в тему у вас. Нахуана тогда тема создана? Ценность поделки = 0. Это и без темы понятно. Вы делаете ровно то, что необходимо ВАМ в данном конкретном случае. Что другие могут на это ответить? Ну и как бы вы просили покритиковать. А на критику рты затыкаете. И чо писать тогда тут? Хвалить нечего. Собственно и критиковать тоже. Писанина да и всё. Как только возникнет необходимость написать более-менее сложный запрос, вся эта писанина окажется в корзине. Вот и вся критика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 19:43:41 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
авторЛан мне все равно никто ничем не помог. А это возможно теоритически? А с учетом, что еще требуется доказать вам же, что это помощь для вас? Лесом с такими приколами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 19:45:10 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
P.S.: Я такие вещи писал наверное раза 3, когда практиковался в написании несложных узкоспециализированных админок с полного нуля. Если б у меня возникла мысля вывалить подобные набивки руки и опыта на всеобщее оборзение - я б наверное выкинул модем и временно повесился до полного возвращения адекватности в мозг... =))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 19:47:42 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Тьху, забыл спросить: авторПокритикуйте кот(оберька... это на каком диалекте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 19:56:00 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Edd.DragonТьху, забыл спросить: авторПокритикуйте кот(оберька... это на каком диалекте? Писал покажи, я не уверен что ты что-то лучше написал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 20:10:31 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррПисал покажи, я не уверен что ты что-то лучше написал. 1. Говорю: "Никогда бы в голову не пришла мысль это выкладывать". В ответ слышу: "Так выложи!". Мой логический аппарат протестует... 2. Я сказал ровно то, что сказал. А у тебя сразу мысль (о чем я даже и не заикался, ибо мне это побоку) - сравнить, и доказать, что твое не хуже. Ну... Ты ради этого писал и выложил, что ли? В общем, я к тому, что задумайся над своей мотивацией и самооценкой. И не торопись кричать "похвалите!". Ты даже еще не дошел до джоинов, нормальной обработки диапазонов в условиях, хевенов и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 20:23:03 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Edd.DragonНяша рррПисал покажи, я не уверен что ты что-то лучше написал. 1. Говорю: "Никогда бы в голову не пришла мысль это выкладывать". В ответ слышу: "Так выложи!". Мой логический аппарат протестует... 2. Я сказал ровно то, что сказал. А у тебя сразу мысль (о чем я даже и не заикался, ибо мне это побоку) - сравнить, и доказать, что твое не хуже. Ну... Ты ради этого писал и выложил, что ли? В общем, я к тому, что задумайся над своей мотивацией и самооценкой. И не торопись кричать "похвалите!". Ты даже еще не дошел до джоинов, нормальной обработки диапазонов в условиях, хевенов и т.д. тото сложно сообразить как джоины сделать $db->select('table1 as t1 LEFT JOIN table2 as t2 ON t1.id = t2.pid', $cols, $where); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 20:29:19 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша ррртото сложно сообразить как джоины сделать $db->select('table1 as t1 LEFT JOIN table2 as t2 ON t1.id = t2.pid', $cols, $where);А в серьезных запросах ( с подзапросами и т.д.) туда просто большая часть запроса уедет. И обертка превратится в тыкву фантик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 20:38:30 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
miksoftНяша ррртото сложно сообразить как джоины сделать $db->select('table1 as t1 LEFT JOIN table2 as t2 ON t1.id = t2.pid', $cols, $where);А в серьезных запросах ( с подзапросами и т.д.) туда просто большая часть запроса уедет. И обертка превратится в тыкву фантик. Прошу назвать хотя бы один фреймворк, класс где таково не произойдёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 20:50:30 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша ррртото сложно сообразить как джоины сделать $db->select('table1 as t1 LEFT JOIN table2 as t2 ON t1.id = t2.pid', $cols, $where); Ну и смысл? Пол запроса пришем вручную (еще и в кавычки забыли облачить имена таблиц), а половину автоматизируем. Что мешало написать пару функций для обработки потенциально опасных параметров, а дальше юзать стандартные средства? Но хочется ж и самому пописать, чтобы понять, почему стандартные средства гибки ровно на столько, а не больше, и какие проблемы поджидают в попытках добиться бОльшей гибкости. Это нормальное желание. С этим я даже спорить не буду. Но вы лучше устремите свои усилия в сторону создания практических задач для использования своего кода. Вот тогда и станет видно, что вот до такого момента все хорошо. Дальше уже выгоды - ноль. А для такой системы было бы лучше совсем иначе поступить. А вот теперь я уже достаточно наигрался, насмаковался и уже вижу где месил воду в ступе ради практики, а что из кода действительно полезно. Более эффективным способом набрать опыта и профессионализма, безусловно, является работа в команде и с уже проверенным боем кодом. Тогда не придется тратить время на повторение уже многократно пройденного другими пути, а можно будет подумать, что в имеющемся коде можно улучшить (по вашему мнению и применительно к конкретным задачам) и обсудить , а так ли оно на самом деле, как вам показалось. Без конкретных систем, обсуждать такие модули применительно к вакууму - бесполезно. Ибо очевидно, что они не являются уневерсальными конструкторами любых запросов на все случаи жизни, а "автоматизируют" лишь элементарные вещи элементарными способами, что в общем-то не интересно для обсуждения. Как говорится, изюму нету (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 21:06:34 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррПрошу назвать хотя бы один фреймворк, класс где таково не произойдёт. Об том и речь. Так на кой вы пишите очередную несерьезность, а не пользуетесь уже готовыми и проверенными? Очень нравится, когда на очередном велосипедике слетает цепь и ты на обочине по локоть в смазке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 21:08:03 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Edd.DragonНяша ррртото сложно сообразить как джоины сделать $db->select('table1 as t1 LEFT JOIN table2 as t2 ON t1.id = t2.pid', $cols, $where); Ну и смысл? Пол запроса пришем вручную (еще и в кавычки забыли облачить имена таблиц), а половину автоматизируем. Что мешало написать пару функций для обработки потенциально опасных параметров, а дальше юзать стандартные средства? Но хочется ж и самому пописать, чтобы понять, почему стандартные средства гибки ровно на столько, а не больше, и какие проблемы поджидают в попытках добиться бОльшей гибкости. Это нормальное желание. С этим я даже спорить не буду. Но вы лучше устремите свои усилия в сторону создания практических задач для использования своего кода. Вот тогда и станет видно, что вот до такого момента все хорошо. Дальше уже выгоды - ноль. А для такой системы было бы лучше совсем иначе поступить. А вот теперь я уже достаточно наигрался, насмаковался и уже вижу где месил воду в ступе ради практики, а что из кода действительно полезно. Более эффективным способом набрать опыта и профессионализма, безусловно, является работа в команде и с уже проверенным боем кодом. Тогда не придется тратить время на повторение уже многократно пройденного другими пути, а можно будет подумать, что в имеющемся коде можно улучшить (по вашему мнению и применительно к конкретным задачам) и обсудить , а так ли оно на самом деле, как вам показалось. Без конкретных систем, обсуждать такие модули применительно к вакууму - бесполезно. Ибо очевидно, что они не являются уневерсальными конструкторами любых запросов на все случаи жизни, а "автоматизируют" лишь элементарные вещи элементарными способами, что в общем-то не интересно для обсуждения. Как говорится, изюму нету (с) Ничего универсального нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 21:17:25 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррНичего универсального нет. Очевидно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 21:26:15 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Может на github эти три класса выложить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 21:38:55 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
АД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 21:42:04 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Hett, ИЗРАИЛЬ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 21:46:11 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Я всю тему не читал, только 1 страницу осилил и то мельком. Мне бы было не очень удобно использовать эту штуку, т.к. она кроме неудобства ничего не дает. Поглядите, например, реализацию ORM в Yii (не путать с конструктором запросов, хотя и его можно тоже посмотреть) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2012, 21:53:01 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
А я всегда говорю, напишите хелловорлд. В контексте баз данных, хелловорлд - это телефонный справочник. Три-четыре таблицы в БД понадобятся, если не наворачивать. Возможно, понадобятся х-ые процедуры, функции и триггеры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 10:39:54 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
ShSerge... напишите хелловорлд ... хелловорлд - это телефонный справочник ... понадобятся х-ые процедуры, функции и триггеры. Не понадобятся, уже написал, все работает как часы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 11:08:20 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррShSerge... напишите хелловорлд ... хелловорлд - это телефонный справочник ... понадобятся х-ые процедуры, функции и триггеры. Не понадобятся, уже написал, все работает как часы. Отлично. Теперь остаётся только сравнить где больше буков, то есть, при использовании Вашего фреймворка, или при использовании стандартного подхода. Если в первом случае меньше и написать проще, то имеет право на жизнь. А если нет - то уж пардон. Я ничего же не говорю. Просто тест такой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 11:31:50 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
ShSerge, три строчки экономия на каждом запросе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 11:59:10 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
а джоинов нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 12:05:11 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
авторНе понадобятся, уже написал, все работает как часы. Код: php 1. 2. 3. Код: php 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 12:10:32 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Edd.DragonНяша рррПрошу назвать хотя бы один фреймворк, класс где таково не произойдёт. Об том и речь. Так на кой вы пишите очередную несерьезность, а не пользуетесь уже готовыми и проверенными? Очень нравится, когда на очередном велосипедике слетает цепь и ты на обочине по локоть в смазке? Ээ, ну опять же в том же ORM Yii все джоины и много чего еще прекрасно инкапсулируется в OOP код. Но тут немножко другая песня. В построителе запросов CI есть методы join: Код: php 1. 2. 3. 4. 5. Если не сталкивались, обязательно посмотрите http://codeigniter.com/user_guide/database/active_record.html В Yii похоже http://www.yiiframework.com/doc/guide/1.1/en/database.query-builder Yii active record http://www.yiiframework.com/doc/guide/1.1/en/database.ar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 12:32:41 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
[offtop] После раскуривания SQLAlchemy все остальные ОРМы смотрятся как ... [/offtop] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 12:44:57 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. JOIN можно реализовать так попробовать, но мне он не особо нужен как и конструктор запросов Код: php 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 12:49:48 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
автор$db->selectAll($db->join($table1, $table2, $on), $cols, $where, $limit); Вот это уже может моск сломать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 12:54:57 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. спрошу ещё раз Код: php 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 13:02:08 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
?????, трудный штоле? Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Переписываем Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Хотя мне непонятно зачем массив, когда чтобы набрать строку нужно меньше символов, поэтому мне такой функциАНАЛ не нужен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 13:14:22 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Hettа джоинов нет За последних пять лет, если не больше, не написал ни одного запроса без соединений таблиц (джойнов). :) Даже хелловорлд (телефонный справочник) предполагает соединение минимум двух таблиц: справочник мемберов и справочник телефонных номеров (у каждого мембера их может быть несколько). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 13:57:40 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
авторХотя мне непонятно зачем массив, когда чтобы набрать строку нужно меньше символов, поэтому мне такой функциАНАЛ не нужен ну непонятно и ладно...! потом разберёшься ;) Успехов!!! гыгы: набрать строку (C) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 14:53:52 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррмне такой функциАНАЛ не нужен А где посмотреть ТЗ на функционал, который тебе нужен? Интересный диалог получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 14:54:59 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
ShSergeHettа джоинов нет За последних пять лет, если не больше, не написал ни одного запроса без соединений таблиц (джойнов). :) Даже хелловорлд (телефонный справочник) предполагает соединение минимум двух таблиц: справочник мемберов и справочник телефонных номеров (у каждого мембера их может быть несколько). Что вреш уж) ВОзмем к примеру какой нить кроновский скрипт - что от него требуеться? Чтобы он что нить сделал но при этом не грузил больно сильно базу, так как паралельно сайт работает. Ну к примеру надо по списку транзакций обновить баланс пользователей. Ну и если ты допустим сделаешь какой нить мошнецкий запрос выборки всех юзеров джойн транзакции (юзеров 1000,000, и у кажого по 100 трназакций) получим зависание сайта минимум на пару минут. Если же вначале всех юзеров вытащить,и для каждой таскать отдельными запросами транзакции, получим скрипт хоть и будет выполняться в два раза дольше, база будет доступна для сайта нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 18:47:49 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррmiksoftпропущено... А в серьезных запросах ( с подзапросами и т.д.) туда просто большая часть запроса уедет. И обертка превратится в тыкву фантик. Прошу назвать хотя бы один фреймворк, класс где таково не произойдёт. Поглядите как вам уже товаришь Hett минимум 3 раза написал как все реализовано в Yii. В их реализации паттерна ActiveRecord как обертки над базой все джойны или дозагрузки данных (lazy load) происходят автоматом, вам останеться только настроить модели и о SQL можно правтикечки забыть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 18:50:44 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
это не исключает джоинов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 18:51:10 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
РенатВ их реализации паттерна ActiveRecord как обертки над базой все джойны или дозагрузки данных (lazy load) происходят автоматом Ну это от пожеланий программиста зависит, with и together никто не отменял. При этом конечный результат останется одинаковым, разве что будет выполнено разное количество запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 18:54:07 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
а не к ночи помянутая доктрина умеет даже больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 19:12:52 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 19:57:02 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Еще немножко и что-то уже более внятное получится Код: php 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 20:16:54 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
ScareCrowа не к ночи помянутая доктрина умеет даже больше. тормозная, говорят. ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 20:17:43 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
вот задача, интересно, справится ли доктрина? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 20:23:56 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Hett, Да брось ты этой фигнёй заниматься. Если и справится, то хреново. Вспоминается немного давнишний фреймворк на делфях. Типа, если таблица, то селект-звёздочка (по имени таблицы), а там в нескольких модулях(!) уже делфи с массивами когда разберётся, чего-то посчитает, тогда выводится какой-то результат. Короче, кошмар. Мне пришлось несколько изменять алгоритм. Пару дней сидел чесал репу и думал. Потом надоело, написал программу с правильным запросом без всей этой фигни за полчаса. А потом вообщё всё приложение нафиг переписал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 20:45:48 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Короче, если работа с базой - только стандартным образом SQL. Хоть ты тресни! Всё остальное ламерами и для ламеров придумано. ПС. Это касается только работы с БД. Так что не подумайте чего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 20:50:28 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
ShSerge, попахивает индусиазмом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 20:53:42 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррShSerge, попахивает индусиазмом Дык, токо пиво сегодня пил. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 20:55:45 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Хз как этими конченными гуглокодами пользоваца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 22:21:44 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Хотел на это гавно залить а на гиты и прочая дрочь никада не пользовался Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 22:24:37 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
DBSelect.php Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. DB.php Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. DBExpression.php MySQL.php ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 23:29:49 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
авторКороче, если работа с базой - только стандартным образом SQL. Хоть ты тресни! гыгы: http://www.mongodb.org/display/DOCS/Home http://php.net/manual/en/book.mongo.php ПыПыСы Оооо!!! понеслись простыни!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 23:39:36 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
?????авторКороче, если работа с базой - только стандартным образом SQL. Хоть ты тресни! гыгы: http://www.mongodb.org/display/DOCS/Home http://php.net/manual/en/book.mongo.php ПыПыСы Оооо!!! понеслись простыни!!! Херня, ты просто дуРАЧЁК, твои замечания такие же глупые как и ты. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. Пример Код: php 1. 2. 3. 4. Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 23:57:43 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
автортолько стандартным образом SQL http://couchdb.apache.org/ http://wiki.apache.org/couchdb/HTTP_Document_API :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2012, 23:59:23 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
авторХерня, ты просто дуРАЧЁК, твои замечания такие же глупые как и ты. Прости, но ты перестал мне быть интересен ещё на второй странице топа! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 00:01:49 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
?????, ссылки не в тему Код: php 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 00:03:35 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 00:13:44 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 00:17:59 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
На пидоне бы кот выглядел компактнее, плохо что нет однодолларовых хостингов с пидоном для экспериментов Код: python 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 00:23:00 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
magic_quotes_off.php Код: php 1. 2. 3. 4. 5. 6. 7. 8. Отключаем на shared хостинге магические кавычки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 01:47:46 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррНа пидоне бы кот выглядел компактнее, плохо что нет однодолларовых хостингов с пидоном для экспериментов Код: python 1. Нет Но красивее уж точно. python Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. лог 2012-05-09 11:06:45,273 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("t_roles") 2012-05-09 11:06:45,273 INFO sqlalchemy.engine.base.Engine () 2012-05-09 11:06:45,273 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("t_users") 2012-05-09 11:06:45,273 INFO sqlalchemy.engine.base.Engine () 2012-05-09 11:06:45,273 INFO sqlalchemy.engine.base.Engine CREATE TABLE t_roles ( id INTEGER NOT NULL, name VARCHAR, PRIMARY KEY (id) ) 2012-05-09 11:06:45,275 INFO sqlalchemy.engine.base.Engine () 2012-05-09 11:06:45,275 INFO sqlalchemy.engine.base.Engine COMMIT 2012-05-09 11:06:45,276 INFO sqlalchemy.engine.base.Engine CREATE TABLE t_users ( id INTEGER NOT NULL, name VARCHAR, realname VARCHAR, city VARCHAR, role_id INTEGER, PRIMARY KEY (id), FOREIGN KEY(role_id) REFERENCES t_roles (id) ) 2012-05-09 11:06:45,276 INFO sqlalchemy.engine.base.Engine () 2012-05-09 11:06:45,278 INFO sqlalchemy.engine.base.Engine COMMIT Можно так 2012-05-09 11:06:45,283 INFO sqlalchemy.engine.base.Engine BEGIN (implicit) 2012-05-09 11:06:45,285 INFO sqlalchemy.engine.base.Engine INSERT INTO t_roles (name) VALUES (?) 2012-05-09 11:06:45,285 INFO sqlalchemy.engine.base.Engine ('sysdba',) 2012-05-09 11:06:45,286 INFO sqlalchemy.engine.base.Engine INSERT INTO t_users (name, realname, city, role_id) VALUES (?, ?, ?, ?) 2012-05-09 11:06:45,286 INFO sqlalchemy.engine.base.Engine ('vasia', 'Вася Пупкин', 'ДС', 1) 2012-05-09 11:06:45,288 INFO sqlalchemy.engine.base.Engine SELECT t_users.name AS t_users_name, t_users.realname AS t_users_realname, t_users.city AS t_users_city, t_roles.name AS t_roles_name FROM t_users, t_roles WHERE t_roles.id = t_users.role_id AND t_users.id = ? 2012-05-09 11:06:45,288 INFO sqlalchemy.engine.base.Engine (1,) ('vasia', 'Вася Пупкин', 'ДС', 'sysdba') А можно вот так 2012-05-09 11:06:45,290 INFO sqlalchemy.engine.base.Engine SELECT t_users.id AS t_users_id, t_users.name AS t_users_name, t_users.realname AS t_users_realname, t_users.city AS t_users_city, t_users.role_id AS t_users_role_id, t_roles_1.id AS t_roles_1_id, t_roles_1.name AS t_roles_1_name FROM t_users LEFT OUTER JOIN t_roles AS t_roles_1 ON t_roles_1.id = t_users.role_id WHERE t_users.id = ? 2012-05-09 11:06:45,290 INFO sqlalchemy.engine.base.Engine (1,) vasia Вася Пупкин ДС sysdba Process finished with exit code 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 08:11:09 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша ррр, Вообще, то что ты написал - полное гг, реализующее лишь конкатенацию строк с какой-то надуманной хренью. Написание запросов это не упрощает, скорее наоборот, делает более запутанным :) К тому же, о гибкости и расширяемости говорить не приходится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 08:52:12 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
?????автортолько стандартным образом SQL http://couchdb.apache.org/ http://wiki.apache.org/couchdb/HTTP_Document_API :) Ну, это - совсем другое дело. Я экспериментировал с mongoDB. Сейчас же говорил именно про реляционные БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 10:22:33 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
авторЯ экспериментировал с mongoDB. couch тоже интересно - рекомендую поэкспериментировать ;) авторСейчас же говорил именно про реляционные БД. естественно! <IMHO> РБД === SQL!!! Для него, любая обёртка - седло на корове (да простит содружество ;) есть желание что-то->find() - добро пожаловать в мир !РБД - бо для них - это родное! </IMHO> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 10:47:56 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
?????, студентота ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 13:30:18 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Модератор: Коллеги, не пора ли закрывать тему? Обсуждение вроде исчерпало себя, плавно переходя в оффтопик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 13:55:28 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
кому на email скинуть может кто покопается че придумает/подскажет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 14:52:13 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2012, 17:18:36 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша ррр, архитектура непонятная. класс DBQuery - какая у него задача? построить валидный запрос! зачем тогда ему знать о $_db ? зачем эта лишняя зависимость? но даже если и так. зачем все эти private? почему вы запрещаете делать наследников расширяющих класс DBQuery? это осознанно или от непонимания? - где возможность получить просто одно вычисленное значение, без всяких промежуточных объектов и массивов - где защита от sql инъекций для селектов ? - где поддержка union, having, вложенных запросов например - где поддержка префиксов таблиц, и работа сразу с несколькими БД - где биндинг программисту кодить столько же, безопасности не прибавилось, гибкость пропала, лишние сущности появились а выгода от них непонятна. прозрачность перехода к БД с другим диалектом? хаха. ваш код к этому совершенно не готов. да и при необходимости этого, все равно пол-проекта придется преписывать учитывая особенности новые. ваш класс ничем тут не поможет какая вообще выгода от вашего класса? отнаследоваться от тогоже pdo, расширить и увеличить абстракцию и то получится мощнее и безопаснее, и вся гибкость sql останется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 07:44:49 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
r u, Да просто, видимо, он недавно узнал про ООП и решил чего-нибудь налабать для теста и прокачивания скилла, заодно показать одноклассникам степень своей крутости. Все через это проходили :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 08:22:51 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
vkleОбсуждение было невозможно с самого начала, так что поддерживаю идею закрытия топика. Все что можно было сказать, топикстартеру уже сказали, теперь начали повторяться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 10:33:45 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
r u... Почему получает при вызове конструктора в качестве параметра обьект базы(ссылку на обьект) - так же сроки эскейпется на стороне сервера, да и по-другому не получится писать так $query->select()->where()->fetch() - где возможность получить просто одно вычисленное значение, без всяких промежуточных объектов и массивов не понял - где защита от sql инъекций для селектов ? какая защита? фильтровать имена таблиц? - где поддержка union, having, вложенных запросов например мне они не нужны пока - где поддержка префиксов таблиц, и работа сразу с несколькими БД преффмксы есть, работа с несколькими БД тоже возможна - где биндинг prepared statements это изврат, они дают вымгрыш для приложений работающих постоянно в фоновом режиме (не аргумент для пэхэпэшных гуро наверника, типа пернатого из Новокузнецка) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 11:35:04 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша ррр- где возможность получить просто одно вычисленное значение, без всяких промежуточных объектов и массивов не понял $cnt = (int) $db->selectValue('SELECT count(*) FROM table WHERE flag=1'); Няша ррр- где защита от sql инъекций для селектов ? какая защита? фильтровать имена таблиц? $user = $db->select('users as u', 'u.name, r.name as role')->join('roles as r', 'u.role_id = r.id')->where('u.id = '.$_POST['uid'])->fetch(); где механизм позволяющий безопасно передавать переменные в запрос? может я проглядел? Няша ррр- где биндинг prepared statements это изврат, они дают вымгрыш для приложений работающих постоянно в фоновом режиме (не аргумент для пэхэпэшных гуро наверника, типа пернатого из Новокузнецка) хотели критику? получили. слушать её или наплевать - дело ваше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 11:47:00 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
r u$cnt = (int) $db->selectValue('SELECT count(*) FROM table WHERE flag=1'); $cnt = $db->countAll('table', 'flag=1'); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 11:53:18 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша ррр, вы на каждый запрос предложите написать отдельный метод? )) а если надо SELECT max(field) ... SELECT (max(field)+min(field))/count(field) ... ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 12:01:22 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша ррр$cnt = $db->countAll('table', 'flag=1'); На выходе сразу int Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. Фильтрацию для where модно сделать но тогда where будет передаваться как массив array('unescaped string', $arg1, $arg2, ...) И синтаксис сделать типа такого ->where(array('id = %i', $_GET['id'])) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 12:01:43 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
r uНяша ррр, вы на каждый запрос предложите написать отдельный метод? )) а если надо SELECT max(field) ... SELECT (max(field)+min(field))/count(field) ... ... Код: php 1. 2. 3. 4. Если одно надо получить Код: php 1. Чото проблем особых не вижу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 12:05:42 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррЧото проблем особых не вижу проблема в том, что на каждый элементарный чих - приходится расширять и допиливать. напрашивается вопрос - нафига такое щастье? обсуждать действительно нечего. все вам уже сказали. такие классы писали лет 5 назад. тогда это было модно и в тему. рекомендую взять готовый класс или фреймворк. либо юзать pdo. там есть все и даже больше того что вы сможете допилить в своем классе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 12:13:21 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
> либо юзать pdo в нем ничего нет ни оберток для инсертов и пр.. Фреймворки, посмотрел CodeIgniter как там все делается, так же через жопу. Нет спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 12:22:45 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша ррр> либо юзать pdo в нем ничего нет ни оберток для инсертов и пр.. ну вот их и напишите, какие нужны. это проще и продуктивнее получится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 12:28:03 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша рррне аргумент для пэхэпэшных гуро наверника, типа пернатого из Новокузнецка Арригато годзай мас, хотя я похапе вообще не знаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 12:33:50 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
NekZНяша рррне аргумент для пэхэпэшных гуро наверника, типа пернатого из Новокузнецка Арригато годзай мас, хотя я похапе вообще не знаю тогда зачем своё очень важное мнение высказываешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 12:45:52 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
дык название темы прочти, если забыл) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 12:49:01 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Няша ррр, Говно не обязательно пробовать на вкус, чтобы понять, что оно говно ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 14:11:58 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
NekZ, троллота жырная пиши хомепаги на ASM'е Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 14:31:43 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 14:48:02 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. Мне тока не нравятся % они в LIKE используются, хотя если подумать то в строке могут быть любые символы и только идиоту придёт в голову такое делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 14:53:02 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 15:14:14 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Тест Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Код: php 1. Код: html 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 15:30:04 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. PHPDocumentor открой для себя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 15:40:48 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Хэйтерам пример, как все делается в калечнай магенте и я уже не говорю про жумлы и врот прессы http://www.excellencemagentoblog.com/magento-part7-series-models-sql-operations ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 15:41:30 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Hett Код: php 1. PHPDocumentor открой для себя Он причем? Вот lib/connect.php Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Я не понимаю чо не цепляет нетбинс если по коду ясно ctrl + space видит все свойства и методы, а так нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 15:43:27 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
При том, чтобы вот такую фигню не писать, хотя бы Код: php 1. Код: php 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 15:45:22 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
Код: php 1. и логи медленно захламляются нотайсами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 15:47:01 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 15:52:14 |
|
||
|
Покритикуйте кот(оберька для MySQL)!
|
|||
|---|---|---|---|
|
#18+
HettПри том, чтобы вот такую фигню не писать, хотя бы Код: php 1. Код: php 1. вот этого не знал Модератор: Тема закрыта из-за многочисленных жалоб посетителей и не соблюдений правил форума, Black ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2012, 15:59:07 |
|
||
|
|

start [/forum/topic.php?all=1&fid=23&tid=1465184]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
158ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
133ms |
get tp. blocked users: |
2ms |
| others: | 210ms |
| total: | 538ms |

| 0 / 0 |
