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
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
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
Post #3





Grupa: Moderatorzy
Postów: 36 559
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]:
Go to the top of the page
+Quote Post
404
post
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
Post #5





Grupa: Moderatorzy
Postów: 36 559
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.
Go to the top of the page
+Quote Post
artuross
post
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.
Go to the top of the page
+Quote Post
Hikamare
post
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 10:21