Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Не пойму почему не заносятся данные в базу
$result=mysql_query("INSERT INTO mbct_ikimun_poezdki (date,start,end,status,usernames,type,time,waypoints,float,date1,time1,float1,mesta,price,priceall,comment,adress,adress1,float2,float3)
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
потому что во-первых mysql_error()
во-вторых индексы массивов ВСЕГДА должны быт ьв кавычках
и в-третьих date, float и возможно другие названия ваших колонок это зарезервированые слова в mysql и их нужно брать в обратные кавычки - `
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Batyabest
Отправлено: 02 Сентября, 2014 - 21:10:45
Новичок
Покинул форум
Сообщений всего: 48
Дата рег-ции: Дек. 2013
потому что во-первых mysql_error()
во-вторых индексы массивов ВСЕГДА должны быт ьв кавычках
и в-третьих date, float и возможно другие названия ваших колонок это зарезервированые слова в mysql и их нужно брать в обратные кавычки - `
То есть правильно писать не '$_POST[type]', а $_POST['type']? Или '$_POST['type']'?
А если все слова для верности заключить в обратные кавычки? Хуже не будет? (Добавление)
mysql_error() ничего не пишет
OrmaJever
Отправлено: 02 Сентября, 2014 - 21:21:56
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Batyabest пишет:
То есть правильно писать не '$_POST[type]', а $_POST['type']? Или '$_POST['type']'
в строках правильно писать '{$_POST['type']}'
Batyabest пишет:
mysql_error() ничего не пишет
Поздравляю, запрос выполнен успешно, а значит запись добавленна
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
dcc0
Отправлено: 02 Сентября, 2014 - 21:22:34
Участник
Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014
Помог: 10 раз(а)
До header location
не было print или echo? Где-нибудь вначале скрипта.
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Batyabest пишет:
То есть правильно писать не '$_POST[type]', а $_POST['type']? Или '$_POST['type']'?
Конкатенировать данные и запрос нельзя в принципе.
Prepared statements и хватить уже мучить десятилетие как протухший mysql_*
----- PostgreSQL DBA
Batyabest
Отправлено: 02 Сентября, 2014 - 21:31:38
Новичок
Покинул форум
Сообщений всего: 48
Дата рег-ции: Дек. 2013
Помог: 0 раз(а)
dcc0 пишет:
До header location
не было print или echo? Где-нибудь вначале скрипта.
Нет, я весь скрипт выложил. Тут просто форма и обработчик. Причем сначала все работало, когда было 6 полей (date, time, start, end, username,waypoints). Добавил все остальные, вроде все правильно, не заносятся именно в базу. Консоль пишет что отправленные данные формы и перечисляет все правильно.
Когда все работало, то перебрасывало на главную, сейчас же остается на этой же странице и ничего не заноситься в БД. (Добавление)
Мелкий пишет:
Batyabest пишет:
То есть правильно писать не '$_POST[type]', а $_POST['type']? Или '$_POST['type']'?
Конкатенировать данные и запрос нельзя в принципе.
Prepared statements и хватить уже мучить десятилетие как протухший mysql_*
Мужики, можно по-русски? Я как вы поняли не слишком силен...
Мелкий
Отправлено: 03 Сентября, 2014 - 09:57:13
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Batyabest пишет:
Я как вы поняли не слишком силен...
Именно потому и не учитесь костылям прошлого десятилетия. Учитесь сразу нормальному.
Берите другие учебные материалы.
Где видите функции mysql_* - проходите мимо. Вам нужен PDO или mysqli
Где видите подстановку данных в текст запроса - проходите мимо.
----- PostgreSQL DBA
Sail
Отправлено: 03 Сентября, 2014 - 10:52:34
Участник
Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014
Помог: 57 раз(а)
OrmaJever пишет:
в строках правильно писать '{$_POST['type']}'
Угу, только кавычки, обрамляющие всю строку - двойные...
Batyabest
Отправлено: 03 Сентября, 2014 - 19:20:28
Новичок
Покинул форум
Сообщений всего: 48
Дата рег-ции: Дек. 2013
Помог: 0 раз(а)
А подскажите, почему же у меня вроде все правильно данные собираются, а в базу не заносятся, причем раньше, когда было всего 6 полей все работало. А добавил много полей в форму, и разбил ее внутри на div и все перестало заноситься. Может выложить код формы или она не причем? (Добавление)
Так правильно я написал?
$result = mysql_query("INSERT INTO mbct_ikimun_poezdki (date,start,end,status,usernames,type,time,fl,date1,time1,fl1,fl2,fl3,mesta,price,priceall,comment,adress,adress1,waypoints) VALUES ('{$_POST['date']}','{$_POST['start']}','{$_POST['end']}','{$_POST['status']}','{$_POST['usernames']}','{$_POST['type']}','{$_POST['time']}','{$_POST['fl']}','{$_POST['date1']}','{$_POST['time1']}','{$_POST['fl1']}','{$_POST['fl2']}','{$_POST['fl3']}','{$_POST['mesta']}','{$_POST['price']}','{$_POST['priceall']}','{$_POST['comment']}','{$_POST['adress']}','{$_POST['adress1']}','{$_POST['waypoints']}')");
header("location: http://site.ru/");
echo mysql_errno().": ". mysql_error()."\n";
exit;
}
(Добавление)
Мелкий пишет:
Вам нужен PDO или mysqli
Вообще все это дело на ModX работает и я понимаю что это каменный век, что нужно все делать на xPDO. Но пока что в нем разбираюсь слабо, хотя понимаю, что за ним будущее...
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.