Я пытаюсь вставить в мою базу данных символ '
и поставить код ниже.Почему не работает mysql_real_escape_string?
$actionurl =$_POST['actionurl'];
$newtitle = $_POST['newtitle'];
$newtitle = mysql_real_escape_string($newtitle);
$result2 = mysql_query("UPDATE links SET title='$newtitle' WHERE url='$actionurl'")
or die(mysql_error());
И я получаю эту ошибку
У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с ним, чтобы запустить образец библиотеки (нить форума) '' по строке 1
Почему я получаю сообщение об ошибке, если я используя mysql_real_escape_string
на переменной $newtitle
?
Зачем использовать устаревший API в любом случае. Используйте подготовленные заявления, и ваши проблемы исчезнут. –
Для записи вы действительно вставляете '' 'используя поле' newtitle' и не используете 'actionurl'? – Rick
Пожалуйста, не используйте 'mysql_ *'] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php?rq=1); функции 'mysql_ * 'устарели, [устарели] (http://us3.php.net/manual/en/intro.mysql.php) и небезопасны. Используйте ['MySQLi'] (http://us3.php.net/manual/en/book.mysqli.php) или [' PDO'] (http://us3.php.net/manual/en/intro. pdo.php) и использовать подготовленные заявления. Как сказал @juergend, это лучший подход и решает вашу проблему. –