Poczatkujacy_Web
17.08.2012, 10:09:42
Witam,
mam problem i nie wiem dlaczego wydaje mi się, że kod jest napisany poprawnie, baza wstawiona, tabela do bazy również i o co chodzi? jak ktoś znajdzie chwile to pomóżcie, będzie dźwięczny, poniżej kod.
<html>
<head>
<title>"FIRMY" - rezultat wstawiania nowej firmy</title>
</head>
<body>
<h1>"Firmy" - rezultat wstawiania nowej firmy </h1>
<?php
// utworzenie krótkich nazw zmiennych
$nazwa=$_POST['nazwa'];
$ulica=$_POST['ulica'];
$kod=$_POST['kod'];
$miasto=$_POST['miasto'];
$panstwo=$_POST['panstwo'];
$opis=$_POST['opis'];
$kategoria=$_POST['kategoria'];
if (!$nazwa || !$ulica || !$kod || !$miasto || !$panstwo || !$opis || !$kategoria) {
echo "Nie podano wszystkich potrzebnych danych.<br />"
."Wróć do poprzedniej strony i spróbuj ponownie.";
exit;
}
if (!get_magic_quotes_gpc()) {
$nazwa = addslashes($nazwa);
$ulica = addslashes($ulica);
$kod = addslashes($kod);
$miasto = addslashes($miasto);
$panstwo = addslashes($panstwo);
$opis = addslashes($opis);
$kategoria = addslashes($kategoria);
}
@ $db = new mysqli('localhost', 'root', '', 'firmy');
if (mysqli_connect_errno()) {
echo "B��d: : Po��czenie z baz� danych nie powiod�o si�. Spr�buj jeszcze raz p�niej.";
exit;
}
$zapytanie = "insert into firmy values ('".$nazwa."', '".$ulica."', '".$kod."', '".$miasto."', '".$panstwo."', '".$opis."', '".$kategoria."')";
$wynik = $db->query($zapytanie);
if ($wynik) {
echo $db->affected_rows." Klient zapisany do bazy.";
} else {
echo "Wyst�pi� b��d. Klient nie zosta�a dodany do bazy.";
}
$db->close();
?>
</body>
</html>
Szymciosek
17.08.2012, 10:18:44
Wstaw kod w znaczniki php
Poczatkujacy_Web
17.08.2012, 10:40:45
Przecież kod jest w znacznikach php
Pomoże ktoś?
redeemer
17.08.2012, 10:50:05
Chodzi o znaczniki PHP forum a nie <?php
Cytat
mam problem i nie wiem dlaczego wydaje mi się, że kod jest napisany poprawnie, baza wstawiona, tabela do bazy również i o co chodzi?
Ja też nie wiem o co chodzi - nie napisałeś jaki jest obecny wynik Twojego kodu a jaki jest oczekiwany.
Poczatkujacy_Web
17.08.2012, 11:00:30
Wystąpił błąd. Klient nie została dodany do bazy. To się wyświetla i nie wiem dlaczego zaraz wstawie kod w znaczniki php.
<html>
<head>
<title>"FIRMY" - rezultat wstawiania nowej firmy</title>
</head>
<body>
<h1>"Firmy" - rezultat wstawiania nowej firmy </h1>
<?php
// utworzenie krótkich nazw zmiennych
$nazwa=$_POST['nazwa'];
$ulica=$_POST['ulica'];
$kod=$_POST['kod'];
$miasto=$_POST['miasto'];
$panstwo=$_POST['panstwo'];
$opis=$_POST['opis'];
$kategoria=$_POST['kategoria'];
if (!$nazwa || !$ulica || !$kod || !$miasto || !$panstwo || !$opis || !$kategoria) {
echo "Nie podano wszystkich potrzebnych danych.<br />" ."Wróć do poprzedniej strony i spróbuj ponownie.";
}
}
@ $db = new mysqli('localhost', 'root', '', 'firmy');
if (mysqli_connect_errno()) {
echo "B��d: : Po��czenie z baz� danych nie powiod�o si�. Spr�buj jeszcze raz p�niej."; }
$zapytanie = "insert into firmy values ('".$nazwa."', '".$ulica."', '".$kod."', '".$miasto."', '".$panstwo."', '".$opis."', '".$kategoria."')";
$wynik = $db->query($zapytanie);
if ($wynik) {
echo $db->affected_rows." Klient zapisany do bazy."; } else {
echo "Wyst�pi� b��d. Klient nie zosta�a dodany do bazy."; }
$db->close();
?>
</body>
</html>
nospor
17.08.2012, 12:06:59
Czyli masz błąd zapytania. Wyświetl go sobie - zajrzyj do manuala by zobaczyć gdzie mysqli ma błąd zapytań
redeemer
17.08.2012, 12:11:39
Pokaż jak wygląda tabela `firmy`.
Poczatkujacy_Web
17.08.2012, 12:56:18
create table firmy
( id_firmy int unsigned not null auto_increment primary key,
nazwa char(50) not null,
ulica char(100) not null ,
kod char(50) not null,
miasto char(50) not null,
panstwo char(50) not null,
opis char(255) not null,
kategoria char(50) not null[sql][/sql]
);
redeemer
17.08.2012, 13:01:07
No to teraz przeanalizuj sobie wartości które wstawiasz do tabeli swoim zapytaniem i porównaj to ze strukturą.
PS. Temat powinien się znaleźć raczej w dziale "Przedszkole"
Poczatkujacy_Web
17.08.2012, 13:04:44
Powinienem wstawić id_firmy w zapytanie?
redeemer
17.08.2012, 13:09:05
Albo określisz w zapytaniu do których kolumn wstawiasz wartości:
INSERT INTO tabela (`nazwa`,`ulica`, ...) VALUES ('wartosc1','wartosc2', ...);
Albo jako wartość id_firmy (auto_increment primary key) wstaw NULL.
Poczatkujacy_Web
17.08.2012, 13:33:49
Zrobiłem tak jak sugerowałeś z zapytaniem ale nie działa,
$zapytanie = "INSERT INTO firmy (`nazwa`,`ulica`, `kod` ,`miasto` ,`panstwo` ,`opis`,`kategoria` ) values ( `$nazwa`, `$ulica`, `$kod`, `$miasto`, `$panstwo`, `$opis`, `$kategoria`)";
Spróbuje jeszcze z tym nullem
redeemer
17.08.2012, 13:40:22
Bo ` to nie '
Poczatkujacy_Web
17.08.2012, 13:44:52
Działa

Dzięki bardzo
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.