Я передаю данные из AJAX на свой PHP. Я просто запускаю цикл for
, чтобы выполнить мой запрос. Проблема с моими данными в том, что она содержит одинарную кавычку.Как избежать запроса php mysqli?
Я использую одинарную кавычку, чтобы заключить свои параметры в запрос. Запрос что-то вроде
INSERT INTO myTable (column1.column2) VALUES('value1', 'value2'),
('value'1', 'value2');
Я хочу, чтобы избежать как
INSERT INTO myTable (column1.column2) VALUES('value1', 'value2'),
('value\'1', 'value2');
Я просто попытался mysqli_real_Escape_String
. Он возвращает что-то вроде
INSERT INTO myTable (column1.column2) VALUES(\'value1\', \'value2\'),
(\'value\'1\', \'value2\');
Ошибка выполнения запроса.
Я не думаю, что использование htmlspeciachars
- правильный путь для этого.
Любые предложения?
Я рекомендую вам использовать [PDO] (http://php.net/manual/fr/book.pdo.php) для доступа к БД в PHP. Если вы этого не сделаете, вы можете использовать [mysql_escape_string] (http://php.net/manual/fr/function.mysql-escape-string.php) –
Использовать подготовленные операторы - оба mysqli и PDO поддерживают их, и это будет сделать жизнь soooo намного легче, как только вы их повесить – RamRaider
Я не думаю, что могу использовать параметры. Поскольку число строк и количество столбцов динамическое. Я использую только mysqli_query –