Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie działa INSERT INTO
Forum PHP.pl > Forum > Bazy danych
pstawik
Witam
Może mi ktoś poradzić czemu nie dodaje mi rekordu do bazy. Połączeni z bazą mam poprawne gdyż proste zapytania mi działąją. Oto kod z php:

  1. <?php
  2. // utworzenie krótkich anzw zmiennych
  3. $isbn=$_POST['isbn'];
  4. $autor=$_POST['autor'];
  5. $tytul=$_POST['tytul'];
  6. $cena=$_POST['cena'];
  7.  
  8. if (!$isbn || !$autor || !$tytul || !$cena)
  9. {
  10.  echo 'Nie podano wszystkich potrzebnych danych.<br />'
  11. .'Wróć do poprzedniej strony i spróbuj ponownie.';
  12.  exit;
  13. }
  14.  
  15. {
  16. $isbn = addslashes($isbn);
  17. $autor = addslashes($autor);
  18. $tytul = addslashes($tytul);
  19. $cena = doubleval($cena);
  20. }
  21.  
  22. @ $db = new mysqli('localhost', 'pstawik', 'piaskowa27', 'ksiazki');
  23.  
  24. if (mysqli_connect_errno())
  25. {
  26.  echo 'Błąd: : Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
  27.  exit;
  28. }
  29.  
  30. $zapytanie = "insert into ksiazki values ('".$isbn."', '".$autor."', '".$tytul."', '".$cena."')";
  31. $wynik = $db->query($zapytanie) or die ("Błąd w zapytaniu");
  32.  if ($wynik)
  33. {
  34. echo $db->affected_rows.' książka zapisana do bazy.';
  35. }
  36.  
  37. ?>

Jak uruchamiam w przeglądarce to pojawia się "Błąd w zapytaniu". A przecież zapytanie jest poprawnie zrobione. Nie przeoczyłem żadnego cudzysłowu ani apostrofu.
tabela w bazie to książki, kod SQL ją tworzący to:
  1. CREATE TABLE ksiazki
  2. ( isbn char(13) NOT NULL PRIMARY KEY,
  3. autor char(50),
  4. tytul char(100),
  5. cena float(4,2)
  6. );


Proszę o radę. Z góry dzięki ...
dr_bonzo
Floata nie otaczaj ''

Wyswietla sobie cale zapytanie:
  1. <?php
  2. echo $zapytanie
  3. ?>
+ komunikat bledu i sprawdz je.
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.