Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Bład nie wykonuje zapytania
Forum PHP.pl > Forum > Przedszkole
Arsanael
mam kod:
  1. $query2 = "INSERT INTO galleryw (id, from, link, opis, postacie) VALUES ('$pictureID', '$link','$opis','$postacie')";
  2. mysql_query($query2);


co w nim jest źle ? bo juz sam nie wiem połaczenie z baza jest zinicjowanie, niestety tak jakby nie działało, prosze o pomoc.
wookieb
No a wyświetl sobie to zapytanie...
Spawnm
brak $from ...
darko
deklarujesz, że będziesz wstawiał do tabeli 5 wartości, a wstawiasz cztery, jednej Ci brakuje
Arsanael
  1. $query2 = "INSERT INTO galleryw (id, from, link, opis, postacie) VALUES ('$pictureID', '$from', '$link','$opis','$postacie')";
  2. mysql_query($query2);


Dalej nic a zgadza się ilość ;/
potreb
Panie zajrzyj do manuala i dowiedz się co to jest mysql_error;
  1. $query2 = "INSERT INTO galleryw (`id`, `from`, `link`, `opis`, `postacie`) VALUES ('$pictureID', '$from', '$link','$opis','$postacie')";
  2. mysql_query($query2) or die(mysql_error());


Jak będziesz miał błąd to możesz go wkleić.
I przy okazji rozwiń wątek z tym dalej nic a zgadza się ilość.
Arsanael
wyświetliło mi :

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 'from, link, opis, postacie) VALUES ('1', '0', 'gallery/poczekalnia/lay_house cop' at line 1

Ale nie mogę tego błędu nigdzie znaleźć, oto funkcja ktora generuje to zapytanie:
  1.  
  2. function AddPic($from,$link,$opis,$postacie)
  3. {
  4. dbConnect('***','***','***','***');//funkcja inicjująca połączenie do db
  5. $pictureID = SetID('id','galleryw');//to funkcja zwracająca indentyfikator do zmienniej
  6. $query2 = "INSERT INTO galleryw (id, from, link, opis, postacie) VALUES ('$pictureID', '$from', '$link','$opis','$postacie')";
  7. mysql_query($query2) or die(mysql_error());
  8. }
blooregard
Wstaw sobie
  1. $query2 = "INSERT INTO galleryw (id, from, link, opis, postacie) VALUES ('$pictureID', '$from', '$link','$opis','$postacie')";
  2. echo $query2;

i sprawdź, czy aby na pewno wszystkie zmienne są prawidłowo podstawione.
sada
  1. $query2 = "INSERT INTO `galleryw` (`id`, `from`, `link`, `opis`, `postacie`) VALUES ('$pictureID', '$from', '$link','$opis','$postacie')";


dodaj tyldy jak wyżej
darko
albo
1) sprawdź sobie co wstawiasz pod każdą ze zmiennych, "wyechuj" każdą z nich, być może jakaś sekwencja znaków przerywa pojedyncze cudzysłowy...
albo
2) wypluj całe zapytanie $query2, które powstaje i wstaw w phpmyadmin albo querybrowser - powinieneś otrzymać komunikat błędu, jeśli nie umiesz/nie chcesz korzystać z mysql_error()
albo
3) jeśli pola id, from, link, opis i postacie to cała struktura tej tabeli, to spróbuj tak:
$query2 = "INSERT INTO galleryw VALUES ('$pictureID', '$from', '$link','$opis', '$postacie')";

któryś z tych trzech punktów powinien zadziałać
mls
Cytat(sada @ 7.10.2009, 00:05:16 ) *
dodaj tyldy jak wyżej


gwoli ścisłości - tylda wygląda tak: ~.
jmail
jak dzieci normalnie. Wystarczyło przeczytać komunikat błędu i zainteresować się liczba zastrzeżonych słów.

1. NIGDY przenigdy nie wstawiaj tych gównianych "ciapek" do zapytania co to imitują apostrof
2. NIGDY przenigdy nie używaj jako nazw kolumn słów z tej listy http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html - to są słowa zastrzeżone dla silnika bazy danych i one "coś" robią.
3. W Twoim przypadku zmień nazwę kolumny from na nie wiem - DwaCycki, PiecRowerow, JasFasola - cokolwiek co nie będzie słowem kluczowym MySQL'a - problem się rozwiąże - oczywiście musisz w zapytaniu też zmienić nazwę tej kolumny

Arsanael
Dzieki, pomogła zmiana tabeli from na fromid ;] dzieki wszystkim .
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.