$q = "INSERT INTO articles VALUES(mysql_real_escape_string($_GET["article"]))
$req = $bdd->prepare($q);
$req ->execute();
я работал на другом сервере, где mysql_real_escape_string() до сих пор не устарели, и теперь я движущуюся сайт на другой сервер MySQL, который, по-видимому не принимает эту функцию больше. И, довольно ясно, мне нужно использовать некоторые PDO.INSERT INTO: mysql_real_escape_string альтернативный
И что же такое PDO-эквивалент для mysql_real_escape_string()? Я пытаюсь что-то вроде этого
$idc = new PDO(...);
$q = "INSERT INTO articles VALUES($idc->quote(($_GET["article"])));
$req = $bdd->prepare($q);
$req ->execute();
Я использую подготовленные заявления, но я подозреваю, что мой PDO :: цитата неправильно где-то.
Но это не дает тот же результат ... Спасибо.
Если вы используете PDO, вы должны использовать подготовленные операторы. BTW, ваш исходный оператор не работал бы, так как функции не оценивались внутри строк - вам нужно использовать конкатенацию. – Barmar
Какой результат вы получаете от 'quote'? Также вы помещаете 'mysql_real_escape_string' или' quote' непосредственно в запрос? Потому что это не сработает ... –
если вы что-то подозреваете - почему бы не попробовать страницу руководства? –