-- Вобщем есть база: -- phpMyAdmin SQL Dump -- version 2.6.1 -- http://www.phpmyadmin.net -- -- Хост: localhost -- Время создания: Окт 17 2008 г., 20:13 -- Версия сервера: 5.0.45 -- Версия PHP: 5.2.4 -- -- БД: `demo` -- -- Таблица в ней: DROP TABLE IF EXISTS `ru_page`; CREATE TABLE `ru_page` ( `id` int(15) NOT NULL auto_increment, `name` char(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ; -- И неработающий запрос: SELECT * FROM ru_page WHERE `id`>1; -- с ошибкой 1064: 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 ';1' at line 1 Проблема заключается в символе ">" - если его поменять на "=" - все работает. Пробовал менять кодировки БД, таблиц, запроса явно на UTF-8 (через iconv () и SET ... ) - одно и то же. В PhpMyAdmin запрос выполняется нормально, а в PHP mysql_query () - выдает вышеупомянутую ошибку. Хотелось бы узнать что такого может стоять в настройках PhpMyAdmin что он нормально интерпритирует этот символ - а ПХП не может? Если есть какие-то идеии пожалуйста напишите. Спасибо за любую информацию.
Спасибо за быстрый ответ, НО: 1. Изначально тотчки с запятой в запросе не было - она появилась уже после того как напало отчаяние (поэтому это не важно) 2. В том то и дело что я хочу как раз на форуме узнать откуда вот это появилось Код (Text): ;1 потому как Я ЭТОГО НЕ СТАВИЛ. В этом и заключался вопрос! Первоначально запрос выглядел вот так: [sql]SELECT * FROM ru_page WHERE `id`>1[/sql] Ничего лишнего, и тем не менее он работает в любом редакторе БД. и не работает в PHP mysql_query ().
меня терзают смутные сомнения прям так и написано в скрипте PHP: <? mysql_query('SELECT * FROM ru_page WHERE `id`>1') или первоначально запрос чем-то обрабатывается?
Ой Излишняя паранойя. Да, действительно, вы правы, там стоял: PHP: mysql_query (htmlspecialchars (addslashes ($VsQuery)), $VpLink) Он и подменял знак "больше" на спецсимвол ">" Тема закрыта. Большое спасибо