Я использую PHP для подключения к базе данных SQL с помощью sqlsrv
драйверов. Однако у меня возникла проблема:Apostrophe не входит в базу данных SQL
$string = "Home";
$DBH->prepare("INSERT INTO table_name (column_name) VALUES ('" .$string. "')");
$DBH->execute();
Как это работает?
$string = "Home's";
$DBH->prepare("INSERT INTO table_name (column_name) VALUES ('" .$string. "')");
$DBH->execute();
Но это не так?
База данных SQL, похоже, не принимает апостроф в переменной $string
. В прошлом я использовал бы mysql_real_escape_string
, но это не вариант.
НОО и не работает слова никто не понимает здесь , Найдите ошибку. PDO имеет метод цитаты http://www.php.net/manual/en/pdo.quote.php –
Вы страдаете от SQL-инъекции - вот [как исправить это] (http://stackoverflow.com/questions/ 60174/how-can-i-prevent-sql-injection-in-php) –
«Раньше я использовал бы mysql_real_escape_string, но это не вариант». Это означает, что вы знаете, в чем проблема. Используйте подготовленные заявления. –