апострофы нарушают мой запрос mysql в PHP

В моей базе данных есть записи имен, которые иногда содержат апострофы, такие как Joe's Bar, и я только что написал сценарий запроса на PHP, который захватывает это поле и вставляет его в оператор select с обычным $query = "SELECT address FROM restaurants WHERE name='$name'";, а апостроф в некоторых названиях ресторанов сбивает с курса Поезд любви.

Как мне не допустить этого?

Едкий ответ. Используйте ту же технику, которую вы использовали, когда вставляли их В базу данных через PHP.
Опровержение. Тогда у меня была та же проблема, и я обманул и ввел проблемные напрямую с помощью PHPMyAdmin, но это больше нельзя игнорировать.

Спасибо, что нашли время ответить на этот вопрос во время праздников.


person Drew    schedule 25.12.2009    source источник


Ответы (2)


Вы должны $name = mysql_real_escape_string($name); перед этой строкой.

Вы также можете прочитать об инъекциях SQL, так как ваши входные данные явно не продезинфицированы.

person styts    schedule 25.12.2009

Посмотрите здесь

person Adriaan Stander    schedule 25.12.2009
comment
О, хороший материал. Хотя ваша первая ссылка битая. +1 в любом случае. - person danben; 25.12.2009