Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Problem z zapytaniem SQL
Forum PHP.pl > Forum > Przedszkole
dino6213221
Witam. Mam takie proste zapytanie:

  1. INSERT INTO test VALUES (NULL,'1','11','111','1111 ');


Pierwsza kolumna jest kolumną ID, auto increment a reszta to varchar.

Po wykonaniu skryptu pokazuje mi się błąd:

  1. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '
  2. ' at line 1


Zapytanie działa baz problemu gdy wklepuję je w phpMyAdmin.

Jakieś pomysły?
mar1aczi
Jeśli pierwsza kolumna jest numerowana automatycznie to dlaczego chcesz tam wstawiać null? W "()" podaj tylko wartości dla pozostałych kolumn.
dino6213221
Już próbowałem, dalej to samo.

A poza tym to zappytanie jest dobre, tylko nie mogę go wykonać poprawnie z poziomu skryptu php.
kubek3898
Może się mylę, ale po nazwie tabeli dajesz w () i ` nazwy pól, do których coś wstawiasz.

Wywal też to null jest niepotrzebne

Reasumując:

  1. INSERT INTO `tabela` (`pole1`, `pole2`) VALUES ('wartosc1', 'wartosc2');
dino6213221
Zrobiłem tak:

  1. INSERT INTO test(`kolumna1`,`kolumna2`,`kolumna3`,`kolumna4`) VALUES ('1','11','111','1111 ');


Błąd dalej ten sam...

Oczywiście w phpMyAdmin działa bez problemu...

Dodam jeszcze skrypt php który tworzy mi te zapytania:

  1. for($i=0;$i<count($nazwy_tabel); $i++){
  2. $kolumny=@$kolumny.'`'.$nazwy_tabel[$i].'`,';
  3. }
  4. $kolumny = substr($kolumny, 0, -3);
  5. $kolumny=$kolumny.'`';
  6. $linie=count($linia);
  7. for($i=1; $i<$linie-1; $i++){
  8. $dane[$i]=str_replace(";", "','", $linia[$i]);
  9. $zapytania[$i]="INSERT INTO $rozszerzenie[0]($kolumny) VALUES ('".$dane[$i]."');"."</br>";
  10. }
  11. echo $zapytania[1].'</br>';
  12. $ale=$zapytania[1];
  13. mysql_query($ale) or die ("Błąd! ".mysql_error());
  14. $liczba_zapytan=count($zapytania);
  15. for($i=1; $i<=$liczba_zapytan;$i++){
  16. mysql_query($zapytania[$i]) or die ("Błąd! ".mysql_error());
  17. }
mmmmmmm
Wykonujesz w linii 13 i 16 (dla $i=1). DWA razy.
dino6213221
Rozwiązałem. Okazało się, że mysql_query nie radzi sibie zbyt dobrze gdy w parametrze podajemy elemnty tablicy.
nospor
Zabawne.... to nie jest żadna wina mysql_query tylko twoja.... budujesz błędne zapytania to nic dziwnego ze ci mysql_query zwraca błąd.

np. tu:
$zapytania[$i]="INSERT INTO $rozszerzenie[0]($kolumny) VALUES ('".$dane[$i]."');"."</br>";
Od kiedy to niby zapytanie może się konczyć jakims </br>?? Nie myl HTML z mysql.
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.