Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]dodanie rekordu do bazy MySQL
Forum PHP.pl > Forum > Przedszkole
kuli95
Wydaje się proste. Robiłem kilkoma metodami i za ni cholery nie chce przejść. Wyrzuca: "nie udało się dodać nowego rekordu" ponieważ za każdym razem $ins nie chce zadziałać.

Dane pobieram z formularza na index.php i przesyłam na register.php
Oczywiście tutaj fragment kodu php:
  1. <?php
  2.  
  3. $name = $_POST['imie'];
  4. $surname = $_POST['nazwisko'];
  5. //$plec = $_POST['sex'];
  6.  
  7. if ($name AND $surname)
  8. {
  9. $connection = @mysql_connect('localhost', 'root', '') OR DIE ('Nie można połączyć z bazą danych');
  10. $db = @mysql_select_db('test', $connection) OR DIE ("Nie można połączyć z bazą danych");
  11. $query = "INSERT INTO dane SET id=NULL, imie='$name', nazwisko='$surname'";
  12. $ins = @mysql_query($query);
  13. if ($ins)
  14. {
  15. echo 'Rekord został dodany';
  16. }
  17. else
  18. {
  19. echo 'nie udało się dodać nowego rekordu';
  20. }
  21. }
  22.  
  23.  
  24. ?>


może i ta informacja się przyda: korzystam z WAMPServera 2.2 z zaimplementowanym PHP 5.3.13, MySQL 5.5.24 oraz Apache 2.2.22
thek
Wywal małpy -> @ exclamation.gif! To tłumienie błędów. Może wtedy zobaczysz w końcu komunikaty błędów i dowiesz się co nie gra smile.gif
kuli95
Cytat(thek @ 10.01.2013, 00:20:25 ) *
Wywal małpy -> @ exclamation.gif! To tłumienie błędów. Może wtedy zobaczysz w końcu komunikaty błędów i dowiesz się co nie gra smile.gif


wywaliłem'@' ale w dalszym ciagu nie wyswietla błędu
nospor
W tym temacie:
Temat: Jak poprawnie zada pytanie
masz napisane jak sobie radzic z bledami bazy
Chelo
Kod
INSERT INTO dane SET id=NULL


Co to wgl za zapytanie?...
kuli95
Cytat(Chelo @ 10.01.2013, 17:12:03 ) *
Kod
INSERT INTO dane SET id=NULL


Co to wgl za zapytanie?...


nadział "przedszkole" wszedłem tylko dlateog, że nie ogarniam jescze php zbyt dobrze więc nie miej mi tego za złe.

Prawidłowe zapytanie już mam:

  1. INSERT INTO `gra`.`users` (`id`, `login`, `password`, `email`) VALUES (NULL, '$login', '$password', '$email');
nospor
Cytat(Chelo @ 10.01.2013, 17:12:03 ) *
Kod
INSERT INTO dane SET id=NULL


Co to wgl za zapytanie?...

Zajrzyj do manuala mysql a dowiesz się, że jest to poprawna składnia...
mmmmmmm
Cytat(nospor @ 11.01.2013, 07:57:07 ) *
Zajrzyj do manuala mysql a dowiesz się, że jest to poprawna składnia...

Oczywiście, że jest poprawna. Ale tylko dla MySQLa. smile.gif
Pisząc w ten sposób aplikację, po zmianie bazy trzeba cały kod przepisać (przynajmniej część SQL-ową), a nie o to chodzi...
Lepiej napisać po ANSI: INSERT INTO tabela(....) VALUES(...) oczywiście też nie uwzględniając MySQLowego wynalazku Values(...), (...). DO tego celu lepiej użyć SELECT...
Takie jest moje zdanie i tej wersji się będę trzymał.
nospor
No tak, no bo przecież początkujący user, który dopiero zaczyna naukę mysql i php będzie przecież od razu tak pisał, by jego aplikacja chodziła bez jakichkolwiek zmian i na oracle i na psgre i na mysql....

Mój poprzedni post dotyczył bezsensownej nagonce zrobionej przez Chelo, który jest ograniczony tylko do jednej składni. Robienie tutaj dyskusji jak pisać, by było uniwersalne wszędzie naprawdę nie ma sensu w tym wątku.
kuli95
ja sem poradziłem z pomocą nospora więc dziękuję serdecznie i temat do zamknięcia wink.gif
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.