Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Волшебные кавычки


Автор: ashenemy 10.12.2007, 23:01
такая проблема не пойму почему
придобавлении в запрос ' одинарной кеовычки выдается ошибка
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '223648'' at line 1

 ; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = On

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off
такие настройки
  пропускаю через функцию
mysql_real_escape_string()
но не помогает помогите плиз

Автор: Kaiden 10.12.2007, 23:47
А как запрос-то составляется? Без PHP-кода очень сложно понять, что происходит. В любом случае, советую внимательно почитать http://phpfaq.ru/slashes.

Автор: ashenemy 10.12.2007, 23:50
news/1/495'.html
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.html' WHERE `id` = '223778'' at line 1
Код

$userstable = "news";
$query = "SELECT * FROM $userstable where `id` = '".intval($id)."'";
$res = mysql_query($query) or die(mysql_error());
$count = mysql_numrows($res);

Автор: ashenemy 11.12.2007, 00:10
самое странное он записывает с кавычкой в БД - правильно, вот выборку почему то с ошибкой 

Автор: Kaiden 11.12.2007, 00:14
Поле id имеет численный тип?
Тогда не стоит брать в апострофы intval($id), т.е перепишите эту строчку так:
Код

$query = "SELECT * FROM $userstable where `id` = " . intval($id);


Хотя, судя по строчке, 
Цитата

for the right syntax to use near '.html' 

там не только в этом проблема.

Автор: ashenemy 11.12.2007, 00:20
все дело в том что все работало на ура, не пойму почему перестало в итоге smile 

Автор: Feldmarschall 11.12.2007, 09:57
ashenemy, ты показываешь нам не тот запрос, который выдает ошибку. Надо быть внимательнее.

Почему перестало работать я тоже могу объяснить, но сначала лучше разобраться с ошибкой.
Найди то место, в котором выдается ошибка, и выведи в браузер запрос, который отправляешь в БД. и посмотри - что с этим запросом не так.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)