Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dziwne zachowanie tworzonego zapytania
Sadamowski
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 4.07.2011

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


Witam,

Problem z pogranicza PHP i MySQL.... od razu do konkretów:

tworzę zapytanie dla MySQL:

  1. $query = "SELECT * FROM pep_decor
  2. WHERE pg_AA IN ('K','L','*') AND (pg_user = '" . $user . "' OR pg_user = 1) AND pg_active = 1";


to już zwracało mi błąd na bazie danych więc wy-echowałem $query i jako wynik dostaję:

SELECT * FROM pep_decor WHERE pg_AA IN ('K','L','*') AND (pg_user = 'Adam' OR pg_user = 1) AND pg_active = 1SELECT * FROM pep_decor WHERE pg_AA IN ('K','L','*') AND (pg_user = 'Adam' OR pg_user = 1) AND pg_active = 1

czyli jakby podwoił zapytanie..... WTF?(IMG:style_emoticons/default/questionmark.gif)

natomiast jesli wsadzam w instrukcje IN zmienną która wygląda : $deriv="'K','*'";

wtedy zapytanie wygląda następująco:

  1. $query = "SELECT * FROM pep_decor
  2. WHERE pg_AA IN (" . $deriv . ") AND (pg_user = '" . $user . "' OR pg_user = 1) AND pg_active = 1";


to w odpowiedzi na echo dostaję:

'SELECT * FROM pep_decor WHERE pg_AA IN ('K','*') AND (pg_user = 'Adam' OR pg_user = 1) AND pg_active = 1/SELECT * FROM pep_decor WHERE pg_AA IN (/) AND (pg_user = 'Adam' OR pg_user = 1) AND pg_active = 1

skąd wzięły się te slasze... nie wiem co jest grane bo jesli ten IN zastąpię osobnymi warunkami oddzielonymi OR to wszystko jest cacy.

Mózg mi chyba zaraz strzeli...
bedę wdzięczy za jakiekolwiek wskazówki

Ten post edytował Sadamowski 4.07.2011, 17:17:15
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
l0ud
post
Post #2





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Zajmijmy się 1 przypadkiem, gdzie zapytanie jest zdublowane. Zamiast echo $query daj var_dump($query) i wklej co wypisze.
Wydaje mi się, że po prostu funkcję wywołujesz 2 razy, drugi raz gdzieś przypadkowo.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 14:28