Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Добавлению в базу


Автор: DragonLord 31.5.2007, 13:25
Пишу запрос на добавления данных из формы в базу. Ругается на строчку ниже:

Код

mysql_query("Insert INTO auto(firms,model,tel,year,price,date) VALUES('".addslashes($firms)."','".addslashes($model)."','".addslashes($year)."','".addslashes($tel)."','".addslashes($price)."','".addslashes($date)."',)");



Плз посмотрите что в коде неправильно?

Автор: PARROT 31.5.2007, 13:35
Ошибки дает?
Код

mysql_query("Insert INTO auto(firms,model,tel,year,price,date) VALUES('".addslashes($firms)."','".addslashes($model)."','".addslashes($year)."','".addslashes($tel)."','".addslashes($price)."','".addslashes($date)."',)") or die(mysql_error());


Добавлено через 55 секунд
Ошибку в студию.  smile 

Автор: DragonLord 31.5.2007, 13:43
Notice: Undefined variable: date in z:\home\auto\www\catalog\post.php

Автор: PARROT 31.5.2007, 13:47
наверх!
Код

Error_Reporting(E_ALL & ~E_NOTICE);


Добавлено через 1 минуту и 10 секунд
Потом при записи в базу у вас нарушена последовательность, перечисление полей не совпадают с записью переменных.

Автор: DragonLord 31.5.2007, 13:55
С ошибкой я разобрался... Но вот почему запись в базу не происходит? Вот весь код:

Код

<?
$server="localhost";
$user="root";
$pass="";
$DB="auto_catalog";
$now=date ("H:i:sd-m-Y");
mysql_connect($server,$user,$pass) or die(" Нет коннекта!");
mysql_select_db($DB);
mysql_query("Insert INTO auto(firms,model,tel,year,price,date) VALUES('".addslashes($firms)."','".addslashes($model)."','".addslashes($tel)."','".addslashes($year)."','".addslashes($price)."','".addslashes($now)."',)");
mysql_close();
echo " Авто добавлено!<br><a href='http://auto/index.php'>Главная</a>";
?>

Автор: PARROT 31.5.2007, 14:07
DragonLord, так вы при записи проверяйте тоже на ошибки:
Код

mysql_query("Insert INTO auto(firms,model,tel,year,price,date) VALUES('".addslashes($firms)."','".addslashes($model)."','".addslashes($tel)."','".addslashes($year)."','".addslashes($price)."','".addslashes($now)."',)") or die(mysql_error());


Добавлено @ 14:09
10 строку сотрите, зачем она Вам?

Добавлено @ 14:11
еще поменяйте название этой переменной:
Код

'".addslashes($year)."'

Такое впечатление, что она базой зарезервирована.
Вообще не стоит называть одинаково имена полей в базе и имена переменных из формы, лучше делать их разными, но понятными. 

Автор: DragonLord 31.5.2007, 15:10
Цитата

10 строку сотрите, зачем она Вам?


Ну вообще когда я читал теорию  настоятельно рекомендовалось в таких случаях закрывать соединение с базой, дабы разгрузить сервер.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)