[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PDO+MySQL+хранимые процедуры
Страницы: 1, 2
Gantsev
mysql_query отрабатывала, как видишь) проблема была именно в PDO =) на самом деле там счёт с базой самой глюкнуло. Reboot помог
SlavaFr
разрешите ляпнуть не по теме.
А зачем это вообще нужно процедуры в программе применять?
Процедуры это ведь просто маленькие прогрмки которые тоже самое делают, что и мы посредством пхп.
Как правило для админстратора базы данных, который хочет чтото зделать не преминяя дополнительных скриптов и языков программирования они могут быть полезны.
Процедуры в базе данных с точки зрения программы даже опассны.

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

При использование процедур-БД в программах мы добровольно отдаем контроль логики в БД., а она для этого не была создана.

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Gantsev
Смотря как процедуры писать =)
Вообще 3 уровня фильтрации в приложении:
- JS (от домохозяек)
- PHP
- MySQL (вдруг PHP чего прошлёпает)

Плюс в самой процедуре ограничение на исполняемого пользователя
IF CURRENT_USER() = "root@localhost" THEN

к примеру, плюс строгая типизация данных на всех уровнях.

Почему перешёл к процедурам? Работал в одной крупной компании и там по рукам били, если в коде есть запросы, только всё на процедурах. А с ведущим программистом как-то не хотелось) Там принцип "Не нравится? Вали!" =)
Вроде как зачем гонять лишние данные между сервером mysql и php
SlavaFr
Цитата (Gantsev @ 27.10.2012 - 10:47)
Смотря как процедуры писать =)
Вообще 3 уровня фильтрации в приложении:
- JS (от домохозяек)
- PHP
- MySQL (вдруг PHP чего прошлёпает)

Плюс в самой процедуре ограничение на исполняемого пользователя
IF CURRENT_USER() = "root@localhost" THEN

к примеру, плюс строгая типизация данных на всех уровнях.

Почему перешёл к процедурам? Работал в одной крупной компании и там по рукам били, если в коде есть запросы, только всё на процедурах. А с ведущим программистом как-то не хотелось) Там принцип "Не нравится? Вали!" =)
Вроде как зачем гонять лишние данные между сервером mysql и php

проверка является ли юзер root делается не на процидоральном уровне Б.Д. а при помощи создания соответственных коннекций или прав для этого юзера.
http://www.mysql.ru/docs/man/Adding_users.html

По поводу упрямых людей с которыми ты работал, могу только выразить собалсзнования и понимание.

По поводу "зачем гонять лишние данные между сервером mysql и php" могу только посмеятся, особенно если апаче и мыло лежит на одном сервере.


_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Gantsev
Это их цитаты, а не моё мнение))) насчёт трафика))) там разница реально 20-30 символов)))
Gantsev
Цитата (SlavaFr @ 27.10.2012 - 14:40)
Цитата (Gantsev @ 27.10.2012 - 10:47)
Смотря как процедуры писать =)
Вообще 3 уровня фильтрации в приложении:
- JS (от домохозяек)
- PHP
- MySQL (вдруг PHP чего прошлёпает)

Плюс в самой процедуре ограничение на исполняемого пользователя
IF CURRENT_USER() = "root@localhost" THEN

к примеру, плюс строгая типизация данных на всех уровнях.

Почему перешёл к процедурам? Работал в одной крупной компании и там по рукам били, если в коде есть запросы, только всё на процедурах. А с ведущим программистом как-то не хотелось) Там принцип "Не нравится? Вали!" =)
Вроде как зачем гонять лишние данные между сервером mysql и php

проверка является ли юзер root делается не на процидоральном уровне Б.Д. а при помощи создания соответственных коннекций или прав для этого юзера.
http://www.mysql.ru/docs/man/Adding_users.html

По поводу упрямых людей с которыми ты работал, могу только выразить собалсзнования и понимание.

По поводу "зачем гонять лишние данные между сервером mysql и php" могу только посмеятся, особенно если апаче и мыло лежит на одном сервере.

так при выполнении процедур же даётся только GRANT EXECUTE и всё.
а если в процедуре INSERT, то она всё равно выполнится. Нет?
Я чайник просто в этих процедурах + php =))))
SlavaFr
я не имел в виду првелегии процидур менять. я имел в виду наложить привелегии на необходимые ресурсы в БД для разных юзеров. Тогда можно работать обычными sql а бд сама разберется что она разрешает этому клиенту.



_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Gantsev
Цитата (SlavaFr @ 28.10.2012 - 11:17)
я не имел в виду првелегии процидур менять. я имел в виду наложить привелегии на необходимые ресурсы в БД для разных юзеров. Тогда можно работать обычными sql а бд сама разберется что она разрешает этому клиенту.

Ну ты уж вообще в школьные учебники подался)) Я, на самом деле, так всегда и делал) Просто сейчас заказчик требует процедуры и хоть расшибитесь smile.gif Писал, блин, 8 лет без них и ещё столько бы же писал)))
twin
Силюсь понять логику ведущего программиста:
Цитата
по рукам били, если в коде есть запросы, только всё на процедурах.

и
Цитата
Вроде как зачем гонять лишние данные между сервером mysql и php
никак не клеется. Или пишешь процедурами, или экономишь ресурсы. И там не вклеивается никак...

Это наверное большая компания с маленьким внутренним севером?

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

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

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

user posted image
Gantsev
3 Сервера стояло) Apache+Nginx; MySQL; Backup =) интернет-магазин у них был))
Процедуры сильно жрут ресурсы? Говорю же, первый раз с ними столкнулся именно там, но вариантов не было) Сказали пиши так и всё)) А сейчас свой проект делаю) Вот тут уже стоит выбор smile.gif
twin
Тут дело не в том, сколько они жрут. Тут дело в общем распределении ресурсов, масштабируемости.

Дело в том, что MySQL штука однопоточная. В отличие от PHP. И вот что получается. Мы сбросили коротенький запросик, резво получили ответ и потом пыхтим потихоньку на стороне PHP. А следом второй процесс. И так далее. В случае с процедурами процессы встают в очередь, пока они не отработают. И если посещаемость большая, приходится наращивать серверные мощности, что бы перелопатить весь этот поток.

А так пусть хоть минуту обрабатывает на стороне PHP - ни кому не мешает.

Я почему и спросил про сервер. Для внутреннего пользования (ну банк к примеру) это не принципиально. А вот высоконагруженные по посещаемости ресурсы трещат по швам от таких непродуманных действий.

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

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

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

user posted image
Gantsev
О как... Спасибо =)
Быстрый ответ:

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