|
Наблюдение:если создать подготовленное выражение средствами mysql, то есть [sql]PREPARE asdf FROM 'SELECT ? FROM tbl';[/sql]затем закрыть сессию, снова войти и попытаться выполнить это подготовленное выражение, то mysql выдаст ошибку:[sql]ERROR 1243 (HY000): Unknown prepared statement handler (asdf) given to EXECUTE[/sql]Так что, уважаемый phpdude, мускул этого не делает =)
|
|
|
|
|
SpartakuS, я не знаю, как точно это называется.. но я хочу сделать так:один раз создать подготовленное выражение, как-то сделать, что бы рнр его запомнило, а потом использовать его много раз и из разных скриптов без предварительной подготовки (то есть сразу mysqli_stmt::bind_param, а затем mysqli_stmt::execute)Впринципе в mysql 5.1 можно сделать подготовленное выражение только sql запросом, но потом ему передавать данные с помощью mysqli::query, а что бы избавиться от sql-injection использовать mysqli::real_escape_string. А последнее загружает ЦП, в то время как mysqli_stmt::execute передаёт данные по-особому так, что данные проверки не требуют и в самой функции они не проходят эту проверку.phpdude, ну вообще-то предполагаю.. Но я задал вопрос, что бы узнать, можно ли сделать так, как я описал выше =)
|
|
|
|
|
Здравствуйте. Возможно ли 1 раз выполнить mysqli::prepare(), каким-то образом сохранить результат (жалательно в mysql) и использовать его в различных скриптах, в которых не нужно будет заново делать mysqli::prepare(), а можно будет сразу переходить к mysqli_stmt::bind_param?То есть можно ли в mysql создать таблицу с подготовленными запросами, что бы вдальнейшем посылать только данные и id подготовленного запроса?
|
|
|
|
|
Цитата: "phpdude" от 07 Февраль, 2010, 10:48:13 ЦитироватьИ как РНР представляет у себя в памяти строки?как массив байт ... а поподробнее? =)можно ли "напрямую" изменить размерность этого массива байт и удалить некоторый байты? =)Цитата: "Givi" от 07 Февраль, 2010, 10:55:59 [da_smag], а какая разница чем именно "удалить" эти знаки? В чем ты хочешь заметить разницу в скорости: в милисекундах или в тысячных милесекунд (последнее более вероятно, но в то же время глупо)?substr($str, 0, -2) - это не удаление строки. Это возврат строки БЕЗ какой-то части. То есть, вместо удаления идет "выделение" (можно сказать "копирование" части строки без некоторого кол-ва знаков согласно указанным аргументам). В таком случае считаю более корректным сделать именно замену (str_replace) ввиду того, что "удаляемый" кусок строки может находится не только в конце, но и в середине строки.хочу, что бы чисто-принципиально скрипт работал с наибольшей скоростью =))структура такова, что удаляемый кусок может находиться только в конце строки =)
|
|
|
|
|
Здравствуйте. Имеется строка вида: Код PHP$str='test[]'Нужно удалить (именно удалить, а не заменить) из неё "[]". Как это сделать максимально быстро?Я подозревал, что можно это сделать примерно так: Код PHP$srt[strlen($srt)-1]=$t; $srt[strlen($srt)-2]=$t;где в качестве $t пробовал \0, \r, '', NULL, но всё равно не получалось.. Побовал применить к последним 2м элементам функцию unset, но выдавало ошибку.. Пока остановился на варианте Код PHPsubstr($str, 0, -2) , но как можно сделать быстрее? И как РНР представляет у себя в памяти строки?
|
|
|
|
|