The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Тематический каталог: Формирование запросов к MsSQL из PHP. ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Тематический каталог: Формирование запросов к MsSQL из PHP. ..."  +/
Сообщение от auto_topic on 19-Ноя-03, 16:36 
Обсуждение статьи тематического каталога: Формирование запросов к MsSQL из PHP. (win sql php)

Ссылка на текст статьи: http://www.opennet.me/base/dev/mssql_php_slash.txt.html

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Формирование запросов к MsSQL из PHP. (win sql php)"  +/
Сообщение от Yukko on 19-Ноя-03, 16:36 
В результате боевых испытаний на рабочем сайте выявлены ошибки.
Не удваивает одиночную кавычку в начале и в конце слова/фразы, которое надо вставить в запрос.
Пример:
INSERT INTO dbo.USERS (UserName,) VALUES (''yukko')
либо
INSERT INTO dbo.USERS (UserName,) VALUES ('yukko'')

Рег будет переписываться.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Формирование запросов к MsSQL из PHP. (win sql php)"  +/
Сообщение от Yukko on 13-Янв-04, 11:59 
Вот собственно новая редакция рега:
<?
$some_string = "
     SET @idins = REPLACE(CONVERT(nvarchar(50), @myid), '-rrr'','dfj'njd' ) SET @userid = (SELECT ID FROM dbo.USERS WHERE (UserName = 'yuk'ko'))
";
$string =  preg_replace("/(?<=[\(=,]|<>)\s*('.*?')(?=\s*[,\\x29]|\s+where|\s*$|\s+and|\s+or)/sie","my_func('\\0')",$some_string);
     echo nl2br($string);
     function my_func($string)
     {  
$start = strpos($string,"'");
        $end = strrpos($string, "'");
        $begin = substr($string, 0, $start+1);
        $finish = substr($string, $end);
        $middle = substr($string, $start+1,$end-$start-1);
        $string = $begin.str_replace("'","''", $middle).$finish;
        return($string);
     }
?>
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Формирование запросов к MsSQL из PHP. (win sql php)"  +/
Сообщение от anonim on 22-Апр-11, 18:56 
А чего не сделать проще ?
<?php  
   $query = "'yuk''ko''10'";
   echo $query;
   echo '
';
   $query = preg_replace("/'/","''",$query);
   echo $query;
    echo '
';
   $sql = "INSERT INTO dbo.USERS (UserName,) VALUES ('".$query."')";
   echo $sql;
?>
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру