Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ошибка со знаком '
 
 автор: verg   (07.04.2010 в 17:47)   письмо автору
 
 

Вставляю текст из текстового поля в базу в конце стоит знак '.
Код
$resultru=mysql_query("INSERT INTO send_sms (user,date,time,text,phones,idsender,idbip) VALUES ('$_SERVER[PHP_AUTH_USER]','$date','$time','$msg','$phones','$idsender','0')"); echo mysql_error();

В переменной $msg содержится текст с этим символом ' , И он не вставляется в базу, вылазиет вот такая ошибка
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '77059654263','bee','0')' at line 1

Как можно сделать чтоб такая ошибка не появлялась?

  Ответить  
 
 автор: Temnovit   (07.04.2010 в 17:55)   письмо автору
 
   для: verg   (07.04.2010 в 17:47)
 

Перед вставкой в запрос, обрабатывайте все переменные используя функцию mysql_real_escape_string()


<?php
$date 
mysql_real_escape_string($date);
$time mysql_real_escape_string($time);
$msg mysql_real_escape_string($msg);
$phones mysql_real_escape_string($phones );
$idsender mysql_real_escape_string($idsender);
$_SERVER[PHP_AUTH_USER] = mysql_real_escape_string($_SERVER[PHP_AUTH_USER] );

$resultru=mysql_query("INSERT INTO send_sms (user,date,time,text,phones,idsender,idbip) VALUES ('$_SERVER[PHP_AUTH_USER]','$date','$time','$msg','$phones','$idsender','0')"); echo mysql_error();
?>


Функция разберется со всеми кавычками и прочими символами, чтобы запрос смог отработать как надо. Делайте это обязательно и в каждом запросе, иначе ваше приложение будет подвержено взлому через SQL инъекцию.

Надеюсь информация будет вам полезна :)

  Ответить  
 
 автор: verg   (07.04.2010 в 18:09)   письмо автору
 
   для: Temnovit   (07.04.2010 в 17:55)
 

БОЛЬШОЕ СПАСИБО!!! Всё работает!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования