Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2013, 22:57   #1
Zhenya-Pvl
Пользователь
 
Регистрация: 26.03.2010
Сообщений: 42
Восклицание Магия с UPDATE

Добрый вечер. Битый час сижу с куском кода:
PHP код:
$query "UPDATE species SET name='$ent_name', lname='$ent_lname', sale='$sel_sale',
cost='
$cost_serialized', capacity='$capac_serialized', genus='$sel_genus', higth='$ent_higth',
time='
$sel_time', loc='$sel_loc', soil='$ent_soil', parth='$ent_parth',
using='
$ent_using', pecul='$ent_pecul', feed='$ent_feed', care='$ent_care' WHERE id='$id'";
$result mysql_query($query,$db); 
Если убрать using='$ent_using', то запрос проходит, все поля обновляются, если оставить - Warning: mysql_error() expects parameter 1 to be resource, null given in...
При этом переменная содержит то, что нужно, поле using в таблице species существует, формат: VARCHAR, тип и сравнение: varchar(255) utf8_unicode_ci.

Пробовал вместо переменной присваивать некоторое значение, поменять название поля, удалил его и создал заново - не помогает. Прошу о помощи, я пас!
Zhenya-Pvl вне форума Ответить с цитированием
Старый 27.12.2013, 23:10   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Возможная причина – слово using относится к зарезервированным словам в MySQL.
Для возможности корректного использования подобных слов в запросах названия таблиц и полей нужно экранировать – `using`:
PHP код:
"UPDATE `species` SET `name`='$ent_name', `lname`='$ent_lname', `sale`='$sel_sale', 
`cost`='
$cost_serialized', ... " 
Поиск ошибок и отладка
Andkorol вне форума Ответить с цитированием
Старый 27.12.2013, 23:15   #3
Zhenya-Pvl
Пользователь
 
Регистрация: 26.03.2010
Сообщений: 42
По умолчанию

Помогло, спасибо =) Весь прикол в том, что они у меня изначально были экранированы, и не работало. Потом на какой-то сайт зашел, там нет экранов, я их и убрал, и забыл благополучно)
Zhenya-Pvl вне форума Ответить с цитированием
Старый 09.01.2014, 16:07   #4
Zhenya-Pvl
Пользователь
 
Регистрация: 26.03.2010
Сообщений: 42
Восклицание Не могу найти ошибку

Ребят, ещё нужна помощь. Вот кусок кода:
PHP код:
$ent_cost[1] = $_POST['ent_cost1'];
<...>
$ent_cost[9] = $_POST['ent_cost9'];
$ent_capac[1] = $_POST['ent_capac1'];
<...>
$ent_capac[9] = $_POST['ent_capac9'];

$cost_serialized serialize($ent_cost);
$capac_serialized serialize($ent_capac);

echo 
$cost_serialized;

$query "INSERT INTO varieties (`species`, `name`, `desc`, `sale`, `cost`, `capacity`) VALUES ('$species', '$ent_name', '$ent_desc', '$sel_sale', '$cost_serialized', '$capac_serialized')";

$result mysql_query($query,$db); 
Всё до INSERT'а работает верно, переменная $cost_serialized показывает верное значение, $capac_serialized в базу заносится верно, как и все остальные значения, а вот поле `cost` почему-то при любом раскладе - "0". Можете объяснить, что не так в запросе?
PS: обработку всех переменных не стал копировать, чтобы не засорять экран.
Zhenya-Pvl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Магия. Без дебага появляется NAN и floating point exception TwiX Общие вопросы Delphi 6 18.06.2013 23:44
"Магия" картинок с применением CSS 3 alexelev HTML и CSS 9 08.03.2013 15:47
Магия вычисления постфиксного выражения дотнет Помощь студентам 0 16.10.2012 20:41
Скажите Виталий Лузкарь связан (ловкость рук иллюзия или магия)? kilogram Свободное общение 6 14.05.2012 18:17
qweqwe магия вконтакте Web-Gangsta Свободное общение 10 27.02.2010 21:47