![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
liliputochka |
|
||||||||||||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 16.3.2006 Где: Волгоград Репутация: нет Всего: нет |
День добрый!
Я написала функцию, в которой некоторым параметрам задала значения по умолчанию. Когда я в функцию не передаю необязательные параметры и проверяю их значения в функции, то переменные приняли заданные по умолчанию мною значения. Но я вставляю эти переменные в sql-выражение, а значения не вставляются! Вы не знаете почему?
Выдает ошибку:
При этом: 1)
Пишет:
2)
Пишет:
3)
Перестает жаловаться на данную переменную и переходит к следующей переменной. 4)
Пишет:
Это сообщение отредактировал(а) liliputochka - 14.2.2010, 22:09 |
||||||||||||||||||
|
|||||||||||||||||||
skyboy |
|
||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
потому что происходит ошибка: попробуй выполнить запрос
из консольного или web-клиента(какая СУБД - только ты знаешь, вот и ищи под неё клиент). какие типы у полей указанной таблицы - тоже никто не угадает. |
||||
|
|||||
liliputochka |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 16.3.2006 Где: Волгоград Репутация: нет Всего: нет |
Выдается ошибка
MySQL 5.0
|
||||
|
|||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
name varchar(100) unique,
я так понимаю, должна соблюдаться уникальность значения в поле. ты уверен, что у тебя уже нет строк с name='JUM'? 3_min int, 3_max int, 4_min int, 4_max int, 5_min int, 5_max int '', '', '', '', '', '') у меня, насколько помню, ругается на пустые строки, при вставке в числовые поля |
|||
|
||||
Fortop |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Как вызывается функция? Потому что
Дает
-------------------- Мир это Я. Живее всех живых. |
||||||
|
|||||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
ну, обычно в таких ситуациях сообщение об ошибке "Duplicate entry for key" у меня вставка произошла. phpmyadmin + mysql 55.1.37 хотя ожидал подвоха и от "0:20:00", и от пустых строк для полей типа int это все сообщение или все же провинившаяся колонка называется вслух? |
|||
|
||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
В 5.1.41 ругается на пустые строки. Впрочем с указанием имени конкретного столбца. Incorrect integer value: '' for column '4_max' at row 1 -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
liliputochka |
|
||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 16.3.2006 Где: Волгоград Репутация: нет Всего: нет |
Данная функция написана в классе. Я создаю объект класса
Затем вот таким образом вызываю эту функцию
соответствующие параметры $three_min, $three_max, $four_min, $four_max, $five_min, $five_max передаются через заполненную форму. Уверен!
нет, это не все сообщение. Сначала ругается на колонку 3_min, после этого
Начинает ругаться на колонку 3_max. И так далее. |
||||||||
|
|||||||||
awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
liliputochka, ты лучше сделай show create table *table_name* со своей таблицей и покажи сюда. Причём тут кстати пхп?
ПыСы: Лилипуточка мужского рода - по меньшей мере странно |
|||
|
||||
liliputochka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 16.3.2006 Где: Волгоград Репутация: нет Всего: нет |
Я же уже выложила структуру таблицы?! Тот sql-запрос, что, пролистав наверх, вы увидите и создал таблицу, в которую заносятся данные. Ну так не работает именно php-код, там где по всем учебникам переменным должны присваиваться значения. Вроде присваиваются, но при подстановке этих значений в необходимые мне места - значения как бы испаряются и переменные оказываются вовсе не определенные! Да! Мне тоже понравилось! Очень смешно! Не хочу хвалится, но может я дошла до такого уровня, что ко мне относятся не как "дурочка-девушка-программист", а как "свой парень"!? |
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
Тсссс, бережем нервы. Не кто не кого не хотел обидеть! -------------------- Amazing ![]() |
|||
|
||||
sTa1kEr |
|
||||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
liliputochka, нужно проверять данные перед тем, как добавлять их в запрос. Хотя бы на соответствие типу или явно приводить их нужному типу http://php.net/types.type-juggling
Добавлено через 4 минуты и 45 секунд А для того, что бы использовались значения по умолчанию, нужно опустить соответствующие параметры при вызове функции. Т.е. при вызове
Параметры $three_min, $three_max и пр. будут содержать значения по умолчанию. |
||||
|
|||||
awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
liliputochka, госпади
![]() ![]() |
|||
|
||||
liliputochka |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 16.3.2006 Где: Волгоград Репутация: нет Всего: нет |
Большое спасибо! Только у меня дело в том, что эти параметры иногда могут принимать какие-то значение, а иногда могут быть пустыми. Мне для подобной реализации надо делать так:
Так или нет? Спокойной ночи! Приятных вам снов! |
||||
|
|||||
Fortop |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Т.е. даже вы сами не знаете, когда у вас есть параметры перед вызовом функции? Тогда рекомендую сделать так
-------------------- Мир это Я. Живее всех живых. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |