|
|
|
| Вставляю текст из текстового поля в базу в конце стоит знак '.
Код
$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
|
Как можно сделать чтоб такая ошибка не появлялась? | |
|
|
|
|
|
|
|
для: 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 инъекцию.
Надеюсь информация будет вам полезна :) | |
|
|
|
|
|
|
|
для: Temnovit
(07.04.2010 в 17:55)
| | БОЛЬШОЕ СПАСИБО!!! Всё работает! | |
|
|
|