| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > is not a valid MySQL result |
| Автор: kelario 6.2.2010, 22:53 | ||||||
| Добрый вечер! У меня есть скрипт,который абсолютно нормально работает везде,кроме ИЕ6. В IE6 вылетает следущее:
Понятно,что HTML и CSS ИЕ6 понимает по своему,но при чем тут MySql ? Сама строчка 55 :
и все остальные действия с sql в правильном порядке :
Спасибо!! |
| Автор: Veve 6.2.2010, 23:25 | ||||
Чисто визуально, есть два странных момента:
Скобки непонятно зачем. Хотя думаю это некритично. А вот второй более непонятный момент. И скорее всего из-за него ошибка.
Вы в цикле закрываете соединение с базой: mysql_close($con); |
| Автор: kelario 6.2.2010, 23:28 |
| Спасибо за ответ,но mysql_close находиться за пределами цикла.Иначе бы не работало везде |
| Автор: IgorIV 6.2.2010, 23:57 |
| А echo $query - не пробовал? Скорее всего браузер не отправляет данные. |
| Автор: TName 7.2.2010, 02:53 |
| Согласен с пердыдущим оратором. И содержимое $fields - в студию. Есть предположение, что там есть данные из $_GET, который от IE6 может быть неадекватным. |
| Автор: kelario 7.2.2010, 11:43 | ||||||||
Resource ID#4 mysql_error выдает
|
| Автор: Photon 7.2.2010, 11:55 |
| А откуда берутся всякие $name, $category и т.п.? Если это приходит из браузера, то для начала стоит попробовать использовать $_REQUEST['name'] и т.п. |
| Автор: TName 7.2.2010, 12:10 | ||
на мой скромный взгляд это вобще должно выглядеть так:
Обрати внимание на пробелы вокруг AND в запросе, отсутсвие добавления пустой строки в конце запроса (зачем оно?) и то, что вся строка в двойных ковычках, а строковые переменные в одинарных (хотя это не принципиально, по-моему). Если предполагается наличие спец. символов во входных данных, то к переменным можно addslashes() применить. |
| Автор: kelario 7.2.2010, 12:11 | ||||
Да,из броузера.
Поменял на $_REQUEST ,не помогает :( |
| Автор: IgorIV 7.2.2010, 12:18 |
| kelario, бери 2 браузера и сравнивай. var_dump($_POST); var_dump($fields); echo $query; // здесь все-таки должна быть строка |
| Автор: kelario 7.2.2010, 12:32 | ||||||||||
IE6:
Firefox:
Теперь файрфоксу тоже не нравиться |
| Автор: IgorIV 7.2.2010, 12:39 |
| kelario, ну и? Ты видишь что у тебя в IE нет переменной $fields? IE не посылает category. |
| Автор: kelario 7.2.2010, 13:19 | ||
Да,заметил.Но какой синтаксис тогда правильный ?(или дело вообще не в этом ? ) Вариант Т-нейма к сожалению не работает. |
| Автор: TName 7.2.2010, 13:22 |
| О, Боги! Иногда руки опускаются.... Вот по развитию диалога создается впечатление, что здесь онлайн дебагер. Ан, нет! Сказано: браузеры (а тем более IE6) передают переменные из формы по-разному. Ищи косяки во входных данных. Проблема с запросом? Проверь синтаксис (правила однозначные). Каждый шаг мониторь. Вывести echo $var; не сложно или var_dump($var). Получив здесь готовый ответ, ты не получишь опыта. А времени на объяснение ситуации потратишь столько же, сколько на самостоятельный поиск и работу. Аналогий и примеров приведено, IMHO, достаточно. |
| Автор: IgorIV 7.2.2010, 13:24 |
| Дело в том, что (телепатия) твой JS скрипт неправильно выполняется. Разберись сначала с формой, чтобы все значения отправлялись на сервер. PHP здесь пока не причём. |
| Автор: kelario 7.2.2010, 14:31 | ||||
Да,все оказалось именно так! Данные даже не приходили в ИЕ. Проблема была в хтмл форме.Ие не понимает input type=image.На то он и ИЕ ! Спасибо всем огромное за советы! |
| Автор: Photon 10.2.2010, 23:52 |
| Как это не понимает? Всё он понимает.. Просто как и положено, отправляет не name = value, а координаты в пределах картинки.. Вот откуда category_x и category_y У input type='image' нет атрибута value, а то, что другие браузеры почему-то его отправляют, то это несоответствие стандартам.. Если тебе нужна кнопка в виде изображения, то сделай её простой ссылкой с onclick |