2012-04-13 6 views
0

У меня есть MySQL заявление так:специальные символы сломать MySQL вставить

mysql_query("INSERT INTO movies (comments, description, synopsis) 
VALUES ('$_POST["comments"]', '$_POST["desc"]',$_POST["synopsis"])"); 

очень прост и понятен, как вы можете видеть. Проблема заключается в том, что я ввожу специальные символы в форму, она не вставляет данные в мою таблицу (с помощью phpmyadmin для проверки непосредственно, если она была вставлена). например, если я добавляю в комментарии textarea это значение: «это комментарий» это работает , если я вместо этого назову: «как тебя зовут?: John doe - мое имя» это breaks.I знаю его, потому что mysql использует персонажи ... любые предложения о том, что я должен делать?

+5

Пожалуйста, начните здесь: [The Great эскапизма (Или: Что нужно знать, чтобы Работа с текстом внутри текста)] (http://kunststube.net/escapism/) – deceze

ответ

7
mysql_query("INSERT INTO movies (comments, description, synopsis) 
VALUES ('".mysql_real_escape_string($_POST["comments"])."', '".mysql_real_escape_string($_POST["desc"])."','".mysql_real_escape_string($_POST["synopsis"])."'"); 
-1
$comments = mysql_real_escape_string($_POST['comments']); 
$desc = mysql_real_escape_string($_POST['desc']); 
$synopsis = mysql_real_escape_string($_POST['synopsis']); 

mysql_query("INSERT INTO movies (comments, description, synopsis) 
VALUES ('$comments', '$desc', '$synopsis'"); 

Для получения дополнительной информации Google "PHP addslashes", или посмотреть на этой странице выглядит пояснительная http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php

+0

Почему 'addlashes', а не соответствующая функция mysql? – deceze

+0

Изменено на "mysql_real_escape_string". По этой причине я поместил «google для php addslashes», чтобы получить дополнительную информацию. –

0
$comments = mysql_real_escape_string($_POST['comments']); 
$desc = mysql_real_escape_string($_POST['desc']); 
$synopsis = mysql_real_escape_string($_POST['synopsis']); 

mysql_query("INSERT INTO movies (comments, description, synopsis) 
VALUES ('$comments', '$desc', '$synopsis'"); 

 Смежные вопросы

  • Нет связанных вопросов^_^