php ковычки

php MySQL

есть запрос:
$query = mysql_query("SELECT id FROM ".$table." WHERE text='".$date."' limit 1");
но если в $date ковычки то выдается ошибка, пробывал через mysql_real_escape_string, не помогло. как еще можно избавиться или переделать запрос?

Примечание:
первые ковычки показ текста и границ типа $text='abc', а вторые двойные это то что мы вставляем переменную. аналог: $text="abc".$text."def";

Примечание:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/index.php on line 29

29: $news = mysql_fetch_row($query);
Ответы:
а почему перед .$date идут две кавычки подряд? '"
если я несу глупость то не обращайте внимания
$query = mysql_query("SELECT id FROM ".$table." WHERE text='".$date."' limit 1");
echo $query; //контролируйте, что в запрос попадает
Во-первых, почему бы не писать запрос так:
"SELECT id FROM {$table} WHERE text='{$date}' limit 1";
Отлично и наглядно видно, где вставляются внешние данные, не надо проставлять кавычки и соединять строки.
По самому вопросу:
Избавиться можно кучей способов, но универсален тут именно mysql_real_escape_string. Прочитайте документацию и проверьте, правильно ли вы все делаете.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.