Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Jak dodać rekord do bazy? Dlaczego się nie dodaje?
kubek15
post
Post #1





Grupa: Zarejestrowani
Postów: 278
Pomógł: 3
Dołączył: 28.06.2008
Skąd: PL

Ostrzeżenie: (0%)
-----


Witam
oto mój formularz:
  1. <form action="tworzenie.php" method="post">
  2. Nazwa:<input type="text" name="nazwa" size="30"><br />
  3. Kategoria:<input type="text" name="kategoria" size="30"><br />
  4. Link:<input type="text" name="link" size="60" value="?show="><br />
  5. <input type="submit" value="dodaj">
  6. </form>


a to plik tworzenie.php
  1. <?
  2. $lacz=mysql_connect("mysql1.ugu.pl","db43206","tibia992");
  3. if (!$lacz)
  4. {
  5. echo "polaczenie nieudane";
  6. }
  7. mysql_select_db('db43206');
  8.  
  9. $query="CREATE TABLE menu_lewe (
  10.  link VARCHAR(80),
  11.  nazwa VARCHAR(30),
  12.  kategoria VARCHAR(30),
  13.  id INT NOT NULL AUTO_INCREMENT,
  14.  PRIMARY KEY(id))";
  15. mysql_query($query);
  16.  
  17. // utworzenie krótkich anzw zmiennych
  18.  $nazwa=$_POST['nazwa'];
  19.  $kategoria=$_POST['kategoria'];
  20.  $link=$_POST['link'];
  21. if (!$nazwa || !$kategoria)
  22. {
  23. echo "nie podano wszystkich danych";
  24. }
  25.    
  26. $dodaj="INSERT INTO menu_lewe VALUE ('".$link."', '".$nazwa."', '".$kategoria."')";
  27. $wynik=mysql_query($dodaj);
  28. if (!$wynik)
  29. {
  30. echo "dane nie zostały dodane";
  31. }
  32. mysql_close($lacz);
  33. ?>


i czego mi to nie działa?


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
thm
post
Post #2





Grupa: Zarejestrowani
Postów: 52
Pomógł: 10
Dołączył: 6.10.2008
Skąd: Lublin

Ostrzeżenie: (0%)
-----


ponieważ
  1. INSERT ... value[b]S[/b]
Go to the top of the page
+Quote Post
kubek15
post
Post #3





Grupa: Zarejestrowani
Postów: 278
Pomógł: 3
Dołączył: 28.06.2008
Skąd: PL

Ostrzeżenie: (0%)
-----


dalej nie działa wpisałem VALUES i nic dlaczego?


--------------------
Go to the top of the page
+Quote Post
piaseq
post
Post #4





Grupa: Zarejestrowani
Postów: 161
Pomógł: 25
Dołączył: 6.09.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(kubek15 @ 25.10.2008, 15:49:31 ) *
dalej nie działa wpisałem VALUES i nic dlaczego?

Próbowałeś użyć mysql_error(), żeby sprawdzić na czym dokładnie polega problem?
Go to the top of the page
+Quote Post
kubek15
post
Post #5





Grupa: Zarejestrowani
Postów: 278
Pomógł: 3
Dołączył: 28.06.2008
Skąd: PL

Ostrzeżenie: (0%)
-----


dodałem cos takiego
  1. <?php
  2. $dodaj=mysql_query('INSERT INTO menu_lewe(link, nazwa, kategoria) VALUES("'.$link.'", "'.$nazwa.'", "'.$kategoria.'")');
  3. ?>


i już działa


--------------------
Go to the top of the page
+Quote Post
piaseq
post
Post #6





Grupa: Zarejestrowani
Postów: 161
Pomógł: 25
Dołączył: 6.09.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(kubek15 @ 25.10.2008, 16:16:04 ) *
dodałem cos takiego
  1. <?php
  2. $dodaj=mysql_query('INSERT INTO menu_lewe(link, nazwa, kategoria) VALUES(\"'.$link.'\", \"'.$nazwa.'\", \"'.$kategoria.'\")');
  3. ?>


i już działa

Więc nie działało dlatego, że w zapytaniu miałeś mniej kolumn niż w tabeli i nie wyszczególniłeś, do których chcesz wpisać wartości. Tak jak pisałem wcześniej mysql_error() znacznie ułatwia znalezienie przyczyny błędu.
Go to the top of the page
+Quote Post
xbigos
post
Post #7





Grupa: Zarejestrowani
Postów: 239
Pomógł: 27
Dołączył: 13.07.2005
Skąd: Jarocin

Ostrzeżenie: (0%)
-----


albo też tak

INSERT INTO tabela SET cos_tam='cos_tam'


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 14:57