апострофы нарушают мой запрос MySQL в PHP - PullRequest
7 голосов
/ 25 декабря 2009

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

Как мне этого избежать?

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

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

Ответы [ 2 ]

17 голосов
/ 25 декабря 2009

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

Вы также можете прочитать о SQL-инъекциях , поскольку ваши входные данные явно не подвергнуты анализу.

4 голосов
...