djozkow
4.02.2008, 12:19:59
Na poczatku chcialem powiedziec ze szukalem na formum odp do mojego problemu i niestety nie moglem znalesc wiec kieruje moja prosbe o pomoc do was drodzy forumowicze zebyscie mi pomogli.
robie sklep internetowy do szkoly na zajecia i mam maly problem z z baza ale ze skyptem php sam nie wiem mam plik formularz rejestracja gdzie uzytkownik wpisuje swoje dane po wpisaniu daje wyslij w celu przeslania ich do bazy ale wyskakuje komunikat
Problem z baza danych. Odrzucone zapytanie. i nie wiem w czym ktwi problem gdzie jest pies pogrzebany nizej wkleje skypt ktory ma to wszystko wykonac
<?php
$komunikat= "";
function dodaj()
{
if(isSet($_GET["imie"]))
$imie=$_GET["imie"];
else
$imie= ""; if(isSet($_GET["nazwisko"]))
$nazwisko=$_GET["nazwisko"];
else
$nazwisko= ""; if(isSet($_GET["ulica"]))
$ulica=$_GET["ulica"];
else
$ulica= ""; if(isSet($_GET["nrdomu"]))
$nrdomu=$_GET["nrdomu"];
else
$nrdomu= ""; if(isSet($_GET["kod"]))
$kod=$_GET["kod"];
else
$kod= ""; if(isSet($_GET["miasto"]))
$miasto=$_GET["miasto"];
else
$miasto= ""; if(isSet($_GET["kraj"]))
$kraj=$_GET["kraj"];
else
$kraj= ""; if(isSet($_GET["telefon"]))
$telefon=$_GET["telefon"];
else
$telefon= ""; if ($imie == "" || $nazwisko == "" ||
$kraj == "" || $telefon == ""){
$GLOBALS['komunikat'] = "Prosze podac wszystkie wymagane dane!";
return false;
} $link = mysql_connect("serwer" , "uzytkownik" , "haslo");
$flag = mysql_select_db("nazwa bazy"); if(!$link || !$flag){
$GLOBALS['komunikat'] = "Problem z polaczeniem z baza danych.";
return false;
}
$query = "INSERT INTO OSOBA (IMIE, NAZWISKO, ULICA, NRDOMU, KOD, MIASTO, KRAJ, TELEFON) ";
$query .= "VALUES('".$imie."','";
$query .= $nazwisko."','";
$query .= $ulica."','";
$query .= $nrdomu."','";
$guery .= $kod."','";
$query .= $miasto."','";
$query .= $kraj."','";
$query .= $telefon."'";
$query .= ")";
$result = mysql_query($query);
if(!$result){
$GLOBALS['komunikat'] = "Problem z baza danych. Odrzucone zapytanie.";
mysql_close($link);
return false;
}
$ID = mysql_insert_ID();
mysql_close($close);
setCookie("ID" , $ID, time() +3600 * 24 * 30);
$GLOBALS['komunikat'] = "Dziekujemy za wyelnienie formularza. Dane zostaly zapisane w systemie.";
}
dodaj();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title>Rejestracja</title>
</head>
<body>
<div>
<?php echo $komunikat; ?>
</div>
</body>
</html>
kitol
4.02.2008, 12:40:22
dodaj echo $query aby wyświetlić treść wygenerowanego zapytania,
Dodaj echo mysql_error($link) po mysql_query() aby wyswietlić komunikat błedu zwróconego przez bazę.
Wklej oba wyniki na forum.
nowotny
4.02.2008, 12:42:54
I pokaż co ci daje print_r($_GET);...
djozkow
4.02.2008, 18:01:20
a gdzie dokladnie w kodzie trzeba to wpisac ?
nie wiem czy w dobre miejsce wkleilem ale wyszlo mi takie cos
INSERT INTO OSOBA (IMIE, NAZWISKO, ULICA, NRDOMU, KOD, MIASTO, KRAJ, TELEFON) VALUES('daniel','de','','','','polska','43534543') Problem z baza danych. Odrzucone zapytanie.
nowotny
4.02.2008, 19:14:02
Po $GLOBALS['komunikat'] = "Problem z baza danych. Odrzucone zapytanie."; wklej to:
<?php
?>
I podaj jeszcze strukturę tabeli "osoba"...
djozkow
4.02.2008, 19:26:27
wkleilem i jest blad Parse error: syntax error, unexpected '<' in /home/djozkow/public_html/add.php on line 72
a linia 72 to <?php
jak sie tu wstawia zdjecie to wstanie printsreena tabeli
nowotny
4.02.2008, 19:36:24
Wklej to co jest pomiędzy "<?php" i "?>", czyli tylko środkowy wiersz a nie wszystko...
http://imageshack.us
djozkow
4.02.2008, 19:43:08
no dokladnie czego ja tego nie widzialem to nie wiem teraz takie cos widnieje
Error: 1136
Error: Column count doesn't match value count at row 1
INSERT INTO OSOBA (IMIE, NAZWISKO, ULICA, NRDOMU, KOD, MIASTO, KRAJ, TELEFON) VALUES('daniel','jozkow','','','','polska','605943574') Problem z baza danych. Odrzucone zapytanie.
tam znalazlem blad chyba musiala ci sie literowka na klawiasturze za szybko napisac i zamiast
echo '<br>Error: '.mysql_error($link).'<br>Error: '.mysql_error($link).'<br>';
bylo
echo '<br>Error: '.mysql_erron($link).'<br>Error: '.mysql_error($link).'<br>';
ale jak poprawilem to jest takie cos
Error: Column count doesn't match value count at row 1
Error: Column count doesn't match value count at row 1
INSERT INTO OSOBA (IMIE, NAZWISKO, ULICA, NRDOMU, KOD, MIASTO, KRAJ, TELEFON) VALUES('daniel','jozkow','','','','polska','43534543') Problem z baza danych. Odrzucone zapytanie.
dziurson
4.02.2008, 19:52:39
deklarujesz że będziesz wprowadzał 8 danych a w wartości jest 7.
A błąd jest tu:
<?php
$guery .= $kod."','";
?>
zamiast:
<?php
$query .= $kod."','";
?>
djozkow
4.02.2008, 19:55:58
ja widze 8 ze wprowadzam i 8 deklaruje i mozesz jeszcze raz pokazac co ma byc zamiast tego <?php
$guery .= $kod."','";
?>
chyba przez przypadek wkeilesz dwa razy to samo
dziurson
4.02.2008, 19:57:51
nie widzisz że masz g(czyt. "gie") zamiast q (czyt. "ku")
djozkow
4.02.2008, 20:04:52
a no tak przepraszam dobre masz oko
dziurson
4.02.2008, 20:05:50
to teraz ładnie kliknij pomógł
djozkow
4.02.2008, 20:06:50
udalo sie dodaly sie dane do bazy ale i tak jest jakis blad
Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/djozkow/public_html/add.php on line 78
Warning: Cannot modify header information - headers already sent by (output started at /home/djozkow/public_html/add.php:78) in /home/djozkow/public_html/add.php on line 79
Dziekujemy za wyelnienie formularza. Dane zostaly zapisane w systemie.
linia 78 to mysql_close($close);
linia 79 to setCookie("id" , $id, time() +3600 * 24 * 30);
dziurson
4.02.2008, 20:10:24
linia 78 powinna chyba wyglądać tak:
mysql_close($link);
djozkow
4.02.2008, 20:10:52
juz klikam

z wielka checia

nawet 10 razy he
nowotny
4.02.2008, 20:12:03
Cytat(djozkow @ 4.02.2008, 19:43:08 )

tam znalazlem blad chyba musiala ci sie literowka na klawiasturze za szybko napisac i zamiast
echo '<br>Error: '.mysql_error($link).'<br>Error: '.mysql_error($link).'<br>';
bylo
echo '<br>Error: '.mysql_erron($link).'<br>Error: '.mysql_error($link).'<br>';
Nie... ja dobrze wpisałem... to ty coś namieszałeś... poczytaj sobie o funkcjach
mysql_errno" title="Zobacz w manualu PHP" target="_manual i
mysql_error" title="Zobacz w manualu PHP" target="_manual
djozkow
4.02.2008, 21:51:36
kurde znowu nie chodzi wtedy poszlo i raz sie zapisaly dane do bazy i koniec znowu jakis dziwny blad
Duplicate entry '0' for key 1 Problem z baza danych. Odrzucone zapytanie.
Juz wiem co bylo nie tak id jest 0 i sie kluci jak wprowadzam nowego jak zrobic zeby liczylo do nastepnego id teraz bylby 1
kitol
5.02.2008, 14:10:18
ustawić w definicji kolumny AUTOINCREMENT?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.