Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z zmiennymi w SELECT
rezydent
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 19.08.2008

Ostrzeżenie: (10%)
X----


Witam,

taka instrucja działa:

  1. $sql = "SELECT pole1, pole2, pole3 FROM tabela WHERE pole1 ='text_szukany' ORDER BY pole2 DESC";


taka instrukcja nie działa:

  1. $zmienna = "text_szukany";
  2. $sql = "SELECT pole1, pole2, pole3 FROM tabela WHERE pole1 ='.$zmienna.' ORDER BY pole2 DESC";


mysql_numrows(): supplied argument is not a valid MySQL result resource in

a nigdzie nie moge znaleźć jakiejś przykładowej składni, gdzie w środku SELECT byłaby jakaś zmienna wprowadzana przez formularz. Probowałem wiele opcji z nawiasami, ' ', i inne i nic.
Czy da sie wogóle w SELECT wstawić jakąś zmienną (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




  1. <?php
  2. echo $sql;
  3. ?>

To Ci pomoże znaleźć błąd.

Przenoszę na przedszkole i dodaję tag do tematu.
Go to the top of the page
+Quote Post
melkorm
post
Post #3





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


W zapytaniu dajesz cudzysłów po to by zapytanie interpretowało apostrofy jako string potrzebny do poprawnego wykonania zapytania, także w php dając cudzysłów "zaznaczasz" że w danym stringu może wystąpić zmienna którą możesz zapisać normalnie $zmienna bez żadnych kropek. czyli zapis:

  1. $sql = "SELECT pole1, pole2, pole3 FROM tabela WHERE pole1 ='$zmienna' ORDER BY pole2 DESC";


jest jaknajbardziej poprawny.

Ten post edytował melkorm 27.09.2008, 21:13:53
Go to the top of the page
+Quote Post

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: 23.08.2025 - 08:52