Как игнорировать или обнаруживать символ в переменной? - PullRequest
0 голосов
/ 07 августа 2011

У меня есть запрос, который просматривает список файлов внутри папки и вводит имена всех файлов в базу данных, чтобы я мог управлять сортировкой при отображении изображений.

Теперь у меня сегодня есть изображение, котороеимел имя image123('2).jpg.Одиночная кавычка вызвала сбой моего запроса, так как я могу обойти это?Чтобы упростить ситуацию, я сделал пример сценария

У меня есть список из 4 переменных, которые имеют следующие строки

$myVAR1 -- "MyName IS Leo";

$myVAR2 -- "MyName IS 'Tiger";

Я запускаю SQL-запрос для ввода их в базу данных

$sql = "INSERT INTO `names` (`StringID`, `StringValue`) VALUES (NULL, ' $myVAR1');";

$sql2 = "INSERT INTO `names` (`StringID`, `StringValue`) VALUES (NULL, ' $myVAR2');";

Так как я могу обнаружить, что одинарная кавычка находится внутри строки $myVar2 и как я могу игнорировать ее при входе в базу данных?

1 Ответ

1 голос
/ 07 августа 2011

Вам необходимо скрыть свои данные.Используйте подготовленные запросы с PDO , так что вам не нужно об этом беспокоиться.

В настоящее время вы широко открыты для SQL-инъекций .

Вкак минимум, используйте mysql_real_escape_string () , предполагая, что вы используете стандартную библиотеку MySQL в PHP.Он заботится о кавычках, помимо прочего, правильно их экранируя, поэтому они будут вставлены в вашу базу данных.

...