Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dlaczego nie dodaje danych do bazy?
Forum PHP.pl > Forum > Bazy danych > MySQL
Poczatkujacy_Web
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
Wstaw kod w znaczniki php
Poczatkujacy_Web
Przecież kod jest w znacznikach php

Pomoże ktoś?
redeemer
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
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.

  1.  
  2. <html>
  3. <head>
  4. <title>"FIRMY" - rezultat wstawiania nowej firmy</title>
  5. </head>
  6. <body>
  7. <h1>"Firmy" - rezultat wstawiania nowej firmy </h1>
  8. <?php
  9. // utworzenie krótkich nazw zmiennych
  10. $nazwa=$_POST['nazwa'];
  11. $ulica=$_POST['ulica'];
  12. $kod=$_POST['kod'];
  13. $miasto=$_POST['miasto'];
  14. $panstwo=$_POST['panstwo'];
  15. $opis=$_POST['opis'];
  16. $kategoria=$_POST['kategoria'];
  17.  
  18. if (!$nazwa || !$ulica || !$kod || !$miasto || !$panstwo || !$opis || !$kategoria) {
  19. echo "Nie podano wszystkich potrzebnych danych.<br />"
  20. ."Wróć do poprzedniej strony i spróbuj ponownie.";
  21. }
  22.  
  23. $nazwa = addslashes($nazwa);
  24. $ulica = addslashes($ulica);
  25. $kod = addslashes($kod);
  26. $miasto = addslashes($miasto);
  27. $panstwo = addslashes($panstwo);
  28. $opis = addslashes($opis);
  29. $kategoria = addslashes($kategoria);
  30. }
  31.  
  32. @ $db = new mysqli('localhost', 'root', '', 'firmy');
  33.  
  34. if (mysqli_connect_errno()) {
  35. echo "B��d: : Po��czenie z baz� danych nie powiod�o si�. Spr�buj jeszcze raz p�niej.";
  36. }
  37.  
  38. $zapytanie = "insert into firmy values ('".$nazwa."', '".$ulica."', '".$kod."', '".$miasto."', '".$panstwo."', '".$opis."', '".$kategoria."')";
  39. $wynik = $db->query($zapytanie);
  40.  
  41. if ($wynik) {
  42. echo $db->affected_rows." Klient zapisany do bazy.";
  43. } else {
  44. echo "Wyst�pi� b��d. Klient nie zosta�a dodany do bazy.";
  45. }
  46.  
  47. $db->close();
  48. ?>
  49.  
  50. </body>
  51. </html>
  52.  
nospor
Czyli masz błąd zapytania. Wyświetl go sobie - zajrzyj do manuala by zobaczyć gdzie mysqli ma błąd zapytań
redeemer
Pokaż jak wygląda tabela `firmy`.
Poczatkujacy_Web
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
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" wink.gif
Poczatkujacy_Web
Powinienem wstawić id_firmy w zapytanie?
redeemer
Albo określisz w zapytaniu do których kolumn wstawiasz wartości:
  1. INSERT INTO tabela (`nazwa`,`ulica`, ...) VALUES ('wartosc1','wartosc2', ...);
Albo jako wartość id_firmy (auto_increment primary key) wstaw NULL.
Poczatkujacy_Web
Zrobiłem tak jak sugerowałeś z zapytaniem ale nie działa,

  1. $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
Bo ` to nie '
Poczatkujacy_Web
Działa smile.gif 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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.