Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] Problem z INSERT INTO
Forum PHP.pl > Forum > Przedszkole
lutador
witam,

moj problem wyglada nastepujaco: z formularza metoda GET przychodza 4 zmienne. Przychodza na 100% sprawdzalem przez echo.. problem zaczyna sie gdy chce je wrzucic do bazy. Jezeli chce wrzucic 1 to dziala jezeli wiecej niz 1 to nie chce :/ Ponizej przedstawiam kod. Moze ktos bedize mial pomysl czemu sie tak dzieje..

  1. <?php
  2. include('connect.php');
  3.  
  4. $nazwisko = $_GET['nazwisko'];
  5. $oddzial = $_GET['oddzial'];
  6. $problem = $_GET['problem'];
  7. $osoba = $_GET['osoba'];
  8.  
  9.  
  10. $nazwisko = mysql_real_escape_string($nazwisko);
  11. $oddzial = mysql_real_escape_string($oddzial);
  12. $osoba = mysql_real_escape_string($osoba);
  13. $problem = mysql_real_escape_string($problem);
  14.  
  15. $data = date('d-m-Y');
  16.  
  17. /*
  18. echo $nazwisko;
  19. echo $oddzial;
  20. echo $osoba;
  21. echo '<p>';
  22. echo $problem;
  23. */
  24.  
  25. $wstaw = "INSERT INTO help SET osoba = '$osoba',
  26. oddzial = '$oddzial',
  27. nazwisko = '$nazwisko',
  28. data1 = '$data',
  29. problem = '$problem' ";
  30.  
  31.  
  32. if (!mysql_query($wstaw, $connection))
  33. {
  34. $display = 'blad!';
  35. }
  36. else
  37. {
  38. $display = 'Zgloszenie zostalo dodane!';
  39.  
  40. }
  41.  
  42.  
  43. echo $display;
  44. ?>

tablica help ma pola: data1, osoba, nazwisko, oddzial, problem wszystkie sa typu varchar
Lion_87
w pytaniu zamiast pprzecinków musi być and smile.gif

$wstaw = "INSERT INTO help SET osoba = '$osoba' and oddzial = '$oddzial'' and nazwisko = '$nazwisko'
and data1 = '$data' and problem = '$problem' ";
lutador
w innym skryptach mialem przecinek i dzialalo. Zrobilem z AND i dalej sie sypie :/
phpion
Cytat(Lion_87 @ 27.12.2007, 17:55:36 ) *
w pytaniu zamiast pprzecinków musi być and smile.gif

Gdzie to wyczytałeś? Składnia mówi co innego. Zasada jest taka: nie wiesz - nie pisz. Wszystkim będzie lżej.

@lutador:
wyświetl sobie na ekran zmienną $wstaw i daj nam tutaj to, co zostanie wyświetlone.
Lion_87
Cytat(phpion.com @ 27.12.2007, 16:03:56 ) *
Gdzie to wyczytałeś?


Nigdzie!!! i wiem co składnia mówi ( o ile mówi)

A dlaczego SET a nie VALUES?
phpion
Cytat(Lion_87 @ 27.12.2007, 18:08:50 ) *
Nigdzie!!!

No właśnie.

Cytat(Lion_87 @ 27.12.2007, 18:08:50 ) *
i wiem co składnia mówi ( o ile mówi)

Kłóciłbym się, że wiesz...

Cytat(Lion_87 @ 27.12.2007, 18:08:50 ) *
A dlaczego SET a nie VALUES?

Zapoznaj się ze składnią INSERT INTO:
z VALUES:
  1. INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
  2. [INTO] tbl_name [(col_name,...)]
  3. VALUES ({expr | DEFAULT},...),(...),...
  4. [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

z SET:
  1. INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
  2. [INTO] tbl_name
  3. SET col_name={expr | DEFAULT}, ...
  4. [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

Polecam książeczkę do podusi.
lutador
wyswietlona zmienna $wstaw

INSERT INTO help SET osoba = 'agnieszka', oddzial = 'brzezie', nazwisko = 'nazwisko', data1 = '28-12-2007', problem = 'jakis problem'

wszystki przychodzi ok tylko nie chce wrzucic do bazy ;/
nevt
help jest wyrazem zastrzeżonym w MySQL... na wszelki wypadek weź go w odwrócone apostrofy:
  1. INSERT INTO `help` SET ...

do tego pokaż jaki opis błędu zwraca baza przy zapytaniu i będziesz wiedział o co chodzi...
  1. <?php
  2. //zamiast
  3. $display = 'blad!';
  4. //wstaw
  5. $display = mysql_error($connection);
  6. ?>
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.