БД не принимает запрос от моего сценария

xAnder from VL

Новичок
БД не принимает запрос от моего сценария

всем хай. Версия PHP - 4.3.3. (Вебсервер - Денвер). Да, версия музейная, но на ней же работает почти такой же запрос. это меня и волнует. Итак, у меня не проходят строки:


PHP:
mysql_select_db("kitchen_database");
   
   $query = "insert into kitchens values('".$city."','".$street."','".$house."','".$famname."','".$kitchentype."','".$length."','".$width."','".$pict1."','".$pict2."',)";

коннект к базе данных kitchen_database проходит нормально. в этой базе создана таблица kitchens по следующему sql-запросу.

PHP:
CREATE TABLE kitchens (
  kitchen_id int unsigned NOT NULL auto_increment,
  city char(200) NOT NUL,
  street char(200) NOT NULL,
  house char(10) NOT NULL,
  famname char(100) NOT NULL,
  kitchentype char(100) NOT NULL,
  length int unsigned NOT NULL,
  width int unsigned NOT NULL,
  pict1 char(100) NOT NULL,
  pict2 char(100) NOT NULL
  );
руками все заносил - заносится, оладку проводил - не работают именно те строки. Все переменные из формы передаются корректно.
PHP:
$query = "insert into kitchens values('".$city."','".$street."','".$house."','".$famname."','".$kitchentype."','".$length."','".$width."','".$pict1."','".$pict2."',)";
 

xAnder from VL

Новичок
Фанат, я уже почитал. все отлажено. не могу разобраться с конкретными строками.
 

kruglov

Новичок
> оладку проводил - не работают именно те строки
Да?
Что-то не вижу я echo mysql_error() нигде.
 

Фанат

oncle terrible
Команда форума
ты не понял.
здесь не школа, а я не учитель литературы.
и мне не надо, чтобы ты читал.
мне вообще плевать, читал ты что-нибудь, или нет. отлаживал или нет. это никого не интересует.

по ссылке написано, что ты должен сделать.
а в форуме эти действия должны быть отражены.

в противном случае лушче не тратить ни своё ни чужое время бессмысленными вопросами.
 

xAnder from VL

Новичок
PHP:
$query = "insert into kitchens values
     ('".$city."','".$street."','".$house."','".$famname."','".$kitchentype."','$length','$width','".$pict1."','".$pict2."',)";

   echo mysql_error();
на экран ничего не выводится, хотя в начале скрипта стоит

PHP:
ini_set('display_errors',1);
error_reporting(E_ALL);
параметры из формы передаются корректно, проверял при помощи echo. Ошибок не выдается. то есть, база не принимает всю муру, которую ей передает скрипт. Дело не в заголовках, так как по соседству лежит скрипт, из которого я и написал этот. Блин, ведь явно все просто, но не могу найти своей ошибки
 

Фанат

oncle terrible
Команда форума
Мужик.
вот я сейчас специально пошёл по ссылке.
почитал.
в первых же двух пунктах есть вещи, которых ты не сделал.
 

Andreika

"PHP for nubies" reader
если те две(три) строчки это весь код, то
он все правильно сделал :)©РГС его то и отлаживать не нужно
 

master_x

Pitavale XXI wieku
xAnder from VL
код по-моему с потолка и с реальной задачей ничего общего не имеет.
на экран ничего не выводится
обманываешь.
$query = "insert into kitchens values
('".$city."','".$street."','".$house."','".$famname."','".$kitchentype."','$length','$width','".$pict1."','".$pict2."',/* зачем здесь эта запятая?*/)";
 

Andreika

"PHP for nubies" reader
master_x
не, не обманывает... а где запрос к этой строчке с запятой? :)
 

master_x

Pitavale XXI wieku
Andreika
вот ешкин кот, он же даже запроса не сделал =) ну когда сделает ждите вторую часть топика =)
 

xAnder from VL

Новичок
внимание, весь код скрипта-обработчика формы :)

PHP:
<?php

ini_set('display_errors',1);
error_reporting(E_ALL);



   $city=$HTTP_POST_VARS['city'];
   $street=$HTTP_POST_VARS['street'];
   $house=$HTTP_POST_VARS['house'];
   $famname=$HTTP_POST_VARS['famname'];
   $kitchentype=$HTTP_POST_VARS['kitchentype'];
   $length=$HTTP_POST_VARS['length'];
   $width=$HTTP_POST_VARS['width'];
   $pict1=$HTTP_POST_VARS['pict1'];
   $pict2=$HTTP_POST_VARS['pict2'];

   if (!$city || !$street || !$house || !$famname || !$kitchentype || !$length || !$width)
       {
       echo 'похоже, что вы что-то забыли. Обязательно заполнять все поля!!';
       exit;
       }

    $db=mysql_pconnect("localhost","kitchen_database","swordfish");
   
   if (!$db)
      {
      echo 'не могу соединиться с базой данных';
      exit;
      }

   mysql_select_db("kitchen_database");
   
   
   $query = "insert into kitchens values
     ('".$city."','".$street."','".$house."','".$famname."','".$kitchentype."','$length','$width','".$pict1."','".$pict2."')";

   echo mysql_error();
   $result=mysql_query($query);
   if ($result)
     {
       echo mysql_affected_rows(). " кухня добавлена в базу данных.";
     }
?>
к этому коду обращается форма, которая передает туда все значения переменных, обозначенные в строке $query
 

xAnder from VL

Новичок
Фанат, хорош издеваться, я ваш "язык" не совсем понимаю :)

в логах вебсервера нифига не нашел: все последние строки занимает нечто следующее:
"[Sat Mar 04 23:33:25 2006] [error] [client 127.0.0.1] File does not exist: z:/home/localhost/www/favicon.ico"
 

master_x

Pitavale XXI wieku
xAnder from VL
сделай одну вещь, пойди в мануал, посмотри пример с запросом к БД, сравни со своим кодом.
HTTTP_POST_VARS=$_POST
 

xAnder from VL

Новичок
все, решилось путем прописывания полей таблицы после слова table в запросе.
 
Сверху