Problem ze skryptem, wysyłającym dane do bazy


(Qazwer8) #1

Witam, napisałem sobie prosty skrypt, który powinien po wpisaniu danych do formularza, wysyłać je do bazy danych.

Niestety nie wysyła danych, i nie wiem gdzie jest błąd :frowning: .Czy mógł by mi go ktoś poprawić?

Wygląda on w ten sposób:

formularz.php:

Model: 

 Marka:

 Rok produkcji:

 Ilosc drzwi:

 Kolor:

Opis:

wyslij.php:

<?php

include("config.php");

if($_SERVER['REQUEST_METHOD'] == 'POST')

{

$query = mysql_query("insert into samochody values('','".$_POST['model']."',now(),'".$_POST['marka']."','".$_POST['rok']."','".$_POST['drzwi']."','".$_POST['kolor']."','".$_POST['opis']."')");

}

?>

Wpis zostal dodany![/code] config.php:
[code]<?php mysql_connect('localhost', 'root' , ''); mysql_select_db("kisiell9"); mysql_query("SET NAMES 'utf8'"); ?>
no i schemat bazy :

-- phpMyAdmin SQL Dump

-- version 3.2.5

-- http://www.phpmyadmin.net

--

-- Host: localhost

-- Czas wygenerowania: 20 Sty 2011, 20:10

-- Wersja serwera: 5.1.33

-- Wersja PHP: 5.2.12


SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";



/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET NAMES utf8 */;


--

-- Baza danych: `kisiell9`

--


-- --------------------------------------------------------


--

-- Struktura tabeli dla `samochody`

--


CREATE TABLE IF NOT EXISTS `samochody` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `model` varchar(30) NOT NULL,

  `marka` varchar(15) NOT NULL,

  `rok` varchar(15) NOT NULL,

  `drzwi` varchar(15) NOT NULL,

  `kolor` varchar(15) NOT NULL,

  `opis` longtext NOT NULL,

  PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=1 ;


--

-- Zrzut danych tabeli `samochody`

--

(Grzelix) #2

Na przyszłość debuguj kod np takim dodatkowym wpisem:

$result = mysql_query("insert into ....


if (!$result) {

    die('Invalid query: ' . mysql_error());

}

błąd masz w zapytaniu (poniżej poprawna wersja). nie trzeba dodawać pustej wartości dla autoinkrement.

$query = mysql_query("insert into samochody values('".$_POST['model']."',now(),'".$_POST['marka']."','".$_POST['rok']."','".$_POST['drzwi']."','".$_POST['kolor']."','".$_POST['opis']."')");

#3

qazwer8 , proszę zapoznaj się z tą stroną oraz tym tematem, a następnie popraw tytuł tematu, używając przycisku ac7a4cd89050aa6e.gif