Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 26 Май, 2012, 03:07:07

Страниц: [1]
Печать
Автор Тема: Возможно ли "сохранение" mysqli::prepare?  (Прочитано 610 раз)
0 Пользователей и 1 Гость смотрят эту тему.
[da_smag]    ↓ 
21 Февраль, 2010, 11:31:07
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 5
Сила слова: 0

Здравствуйте. Возможно ли 1 раз выполнить mysqli::prepare(<запрос>), каким-то образом сохранить результат (жалательно в mysql) и использовать его в различных скриптах, в которых не нужно будет заново делать mysqli::prepare(<запрос>), а можно будет сразу переходить к mysqli_stmt::bind_param?
 
То есть можно ли в mysql создать таблицу с подготовленными запросами, что бы вдальнейшем посылать только данные и id подготовленного запроса?
Записан
SpartakuS    ↓ 
22 Февраль, 2010, 02:03:25 , спустя 2 часа 32 минуты 18 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 32
Сообщений: 2444
Сила слова: 1.31

[da_smag], кеш?
Записан


цска ебаное гавно.
phpdude    ↓ 
22 Февраль, 2010, 02:47:03 , спустя 43 минуты 38 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: д-о-х-у-я!
Сила слова: 1.66

[da_smag], вы предполагаете что мускуль за вас это не делает?
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
[da_smag]    ↓ 
22 Февраль, 2010, 03:14:33 , спустя 12 часов 27 минут 30 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 5
Сила слова: 0

SpartakuS, я не знаю, как точно это называется.. но я хочу сделать так:
один раз создать подготовленное выражение, как-то сделать, что бы рнр его запомнило, а потом использовать его много раз и из разных скриптов без предварительной подготовки (то есть сразу mysqli_stmt::bind_param, а затем mysqli_stmt::execute)
Впринципе в mysql 5.1 можно сделать подготовленное выражение только sql запросом, но потом ему передавать данные с помощью mysqli::query, а что бы избавиться от sql-injection использовать mysqli::real_escape_string. А последнее загружает ЦП, в то время как mysqli_stmt::execute передаёт данные по-особому так, что данные проверки не требуют и в самой функции они не проходят эту проверку.
 
phpdude, ну вообще-то предполагаю.. Но я задал вопрос, что бы узнать, можно ли сделать так, как я описал выше =)
Записан
[da_smag]    ↓ 
22 Февраль, 2010, 03:53:35 , спустя 39 минут 2 секунды
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 5
Сила слова: 0

Наблюдение:
если создать подготовленное выражение средствами mysql, то есть
SQL
PREPARE asdf FROM 'SELECT ? FROM tbl';
затем закрыть сессию, снова войти и попытаться выполнить это подготовленное выражение, то mysql выдаст ошибку:
SQL
ERROR 1243 (HY000): Unknown prepared statement handler (asdf) given TO EXECUTE

Так что, уважаемый phpdude, мускул этого не делает =)
Записан
Nyaah    ↓ 
22 Февраль, 2010, 04:28:05 , спустя 34 минуты 30 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 34
Сообщений: 522
Сила слова: 6.51

Чего-то непойму, в чем сакральный смысл сего действа? Ты пытаешься переложить кеширование с фс/мэмкеша на базу данных?
... а что бы избавиться от sql-injection использовать mysqli::real_escape_string. А последнее загружает ЦП...
абасраца аргумент =)
И что, насколько сильно у тебя нагружает процессор эксейпирование строки по сравнению с выполнение запроса например?
Записан

Work, buy, consume, die
phpdude    ↓ 
22 Февраль, 2010, 04:29:05 , спустя 1 минуту
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: д-о-х-у-я!
Сила слова: 1.66

Так что, уважаемый phpdude, мускул этого не делает =)
я не это имел ввиду. а то, что препаре он не парсит каждый раз, а использует кеш. это раз
 
во вторых, ваш тест - более чем очевиден, зачем он вообще проводился? :)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Страниц: [1]
Печать
 

Перейти в: