Nie dodają się rekordy do bazy

0

Witam, mam taki kod:

 $tytul=$_POST['tytul'];
		$tytul=$_POST['tytul'];
        $krotka=$_POST['krotka'];
		$dluga=$_POST['dluga'];
		$autor=$_POST['autor'];
		$ilosc_zdjec=$_POST['ilosc'];
        $data = date("d.m.y");
		$miniaturka_var=$_POST['min'];
		
		mysql_query("INSERT INTO newsy (tytul, autor, tresc_skrot, tresc, data, miniatura, ilosc_zdjec) VALUES ('$tytul', '$autor', '$krotka', '$dluga', '$data', '$miniaturka_var',  '$ilosc_zdjec')");
		
        echo 'Pomyślnie dodałeś wpis o tytule: <b>'.$tytul.'</b>, o treści: <b>'.$krotka.'</b> oraz <b>'.$ilosc_zdjec.'</b> zdjec';

Nie wyrzuca żadnego błędu, echo też się wyświetla, ale w bazie nie ma żadnego nowego rekordu. Co jest błędem i jak to naprawić ? Z góry dziękuje za pomoc :)

0

Kilka uwag co do kodu:

 $tytul=$_POST['tytul'];
                $tytul=$_POST['tytul'];
  1. Po co dwa razy?
  2. Poczytaj o SQL Injection a potem napisz to jeszcze raz.
mysql_query("INSERT INTO newsy (tytul, autor, tresc_skrot, tresc, data, miniatura, ilosc_zdjec) VALUES ('$tytul', '$autor', '$krotka', '$dluga', '$data', '$miniaturka_var',  '$ilosc_zdjec')");
  1. Wygląda to trochę tak, jakbyś nie miał w zapytaniu zdefiniowanej wartości dla indeksu. Czy indeks w tabeli jest AUTO_INCREMENT?

Co do braku rekordu w bazie danych, puść zaraz po zapytaniu mysql_error() i podaj treść komunikatu błędu.

0

Możesz użyć standardowego rozwiązania:

mysql_query("INSERT INTO newsy (tytul, autor, tresc_skrot, tresc, data, miniatura, ilosc_zdjec) VALUES ('$tytul', '$autor', '$krotka', '$dluga', '$data', '$miniaturka_var',  '$ilosc_zdjec')") or die("błąd mysql! " . mysql_error());

Funkcja mysql_query zwraca false w wypadku niepowodzenia. Jeśli więc będzie błąd, to wykona się instrukcja die, a w środku mysql_error(), co Ci powie o błędach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1