Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Poprawne zapytanie mysql_query. Błąd w parametrze "WHERE"
Hikamare
post 11.01.2012, 18:52:14
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 6.10.2010
Skąd: Żory

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


  1. global $title;
  2. $title = $_GET['album'];
  3. if ($title != null) {
  4. $query = mysql_query ('SELECT mark * FROM reviews WHERE album ='$title'');
  5. $fetch = mysql_fetch_assoc($query);
  6. echo($fetch);


Oto fragment mojej funkcji. Mam problem ze zmienną query. Chcę, by ta funkcja pobierała daną ocenę (czyli mark) określonego albumu. Nazwa tego albumu ma być wpisana przez użytkownika i oznaczona jest zmienną $title. Jednak po zastosowaniu tego kodu otrzymuję ten błąd :

Cytat
Parse error: syntax error, unexpected T_VARIABLE in /home/musicdwa/public_html/functions.php on line 25


Szukałem w manualu, jednak tamtejsze metody jakoś także nie działają.

Ten post edytował Hikamare 11.01.2012, 18:53:53
Go to the top of the page
+Quote Post
404
post 11.01.2012, 18:55:57
Post #2





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

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


  1. "SELECT mark * FROM reviews WHERE album =$title"

lub
  1. 'SELECT mark * FROM reviews WHERE album =' . $title
Go to the top of the page
+Quote Post
nospor
post 11.01.2012, 18:57:28
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Twój problem nie ma zadnego zwiazku z mysql. PARSE ERROR to PHP
  1. $query = mysql_query ("SELECT * FROM reviews WHERE album ='$title'");

Zapoznaj się dokładnie z tym bo leżysz na podstawach
http://pl.php.net/manual/pl/language.types.string.php

a ty 404 PARSER ERROR poprawiles, ale zrobiles blad mysql
Powód edycji: [nospor]:


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

"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
404
post 11.01.2012, 19:09:54
Post #4





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

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


To całe zapytanie jest jednym wielkim błędem, bo nie powinno się sklejać stringów w zapytaniach (czyt. SQL Injection). To miałeś na myśli?
Go to the top of the page
+Quote Post
nospor
post 11.01.2012, 19:12:31
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie, miałem na myśli to, że nie objąłeś apostrofem tekstu w zapytaniu. Spojrz na "moje" zapytanie i porównaj ze "swoim"

SQLInjection to już zupełnie inna bajka.


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

"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
artuross
post 11.01.2012, 19:13:22
Post #6





Grupa: Zarejestrowani
Postów: 164
Pomógł: 9
Dołączył: 30.12.2011

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


Cytat(404 @ 11.01.2012, 19:09:54 ) *
To całe zapytanie jest jednym wielkim błędem, bo nie powinno się sklejać stringów w zapytaniach (czyt. SQL Injection). To miałeś na myśli?


  1. "SELECT mark * FROM reviews WHERE album ='$title'"


Muszą być pojedyncze cudzysłowy, inaczej wyskoczy błąd.


--------------------
Pomoglem? Daj pomogl!
Go to the top of the page
+Quote Post
Hikamare
post 14.01.2012, 15:36:07
Post #7





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 6.10.2010
Skąd: Żory

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


Cytat(404 @ 11.01.2012, 19:09:54 ) *
To całe zapytanie jest jednym wielkim błędem, bo nie powinno się sklejać stringów w zapytaniach (czyt. SQL Injection). To miałeś na myśli?


W takim razie jak inaczej mogę wyjść KONKRETNY rekord z bazy ?
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: 14.08.2025 - 14:34