Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Problem z zapytaniem SQL, Problem z zapytaniem
dino6213221
post 18.03.2013, 15:31:38
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 18.01.2011

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


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?
Go to the top of the page
+Quote Post
mar1aczi
post 18.03.2013, 15:38:52
Post #2





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

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


Jeśli pierwsza kolumna jest numerowana automatycznie to dlaczego chcesz tam wstawiać null? W "()" podaj tylko wartości dla pozostałych kolumn.


--------------------
Szanuj innych czas! Kliknij , gdy pomocną wskazówkę otrzymasz.
Go to the top of the page
+Quote Post
dino6213221
post 18.03.2013, 15:43:28
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 18.01.2011

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


Już próbowałem, dalej to samo.

A poza tym to zappytanie jest dobre, tylko nie mogę go wykonać poprawnie z poziomu skryptu php.

Ten post edytował dino6213221 18.03.2013, 15:44:45
Go to the top of the page
+Quote Post
-kubek3898-
post 18.03.2013, 15:44:42
Post #4





Goście







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');


Ten post edytował kubek3898 18.03.2013, 15:46:48
Go to the top of the page
+Quote Post
dino6213221
post 18.03.2013, 16:04:09
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 18.01.2011

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


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. }


Ten post edytował dino6213221 18.03.2013, 16:24:27
Go to the top of the page
+Quote Post
mmmmmmm
post 18.03.2013, 19:33:52
Post #6





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Wykonujesz w linii 13 i 16 (dla $i=1). DWA razy.
Go to the top of the page
+Quote Post
dino6213221
post 18.03.2013, 20:36:22
Post #7





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 18.01.2011

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


Rozwiązałem. Okazało się, że mysql_query nie radzi sibie zbyt dobrze gdy w parametrze podajemy elemnty tablicy.
Go to the top of the page
+Quote Post
nospor
post 19.03.2013, 10:32:19
Post #8





Grupa: Moderatorzy
Postów: 36 456
Pomógł: 6296
Dołączył: 27.12.2004




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.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Wersja Lo-Fi Aktualny czas: 26.04.2024 - 12:51