Kod PHP, znak ucieczki, problem początkującego


(Alan Elektro) #1

Witam!

"wykombinowałem" taki kod

<?


function wyszukaj($szukane){


$war=" where adress like '%".$szukane."%'";


}

mysql_connect('localhost','root','haslo');

mysql_select_db('testy');

$zapytanie="select * from users left join description on (users.id=description.id) ".$war;


$bufor=mysql_query($zapytanie);

while ($wynik=mysql_fetch_array($bufor)){echo $wynik['description']};



wyszukaj('test');


?>

do szukania po mojej bazie jednak mam pewien problem otrzymuje taki komunikat:

Parse error: syntax error, unexpected '}', expecting ',' or ';' in C:\Server\tib_xampp\htdocs\testy\szukaj.php on line 13

jest to chyba problem ze "znakiem ucieczki", gdzieś trzeba chyba wstawić slesze. Bardzo bym prosił o pomoc w naprawie kodu.

Z góry dziękuje za ewentualne odpowiedzi.


(Tom 85) #2

w ostatniej linijce masz chyba błąd.

while(warunek)

{

instrukcje ;

}

więc powinno być w twoim przypadku tak:

while ($wynik=mysql_fetch_array($bufor)){echo $wynik['description'];}

................ a to:

$war=" where adress like '%".$szukane."%'";

zamień na to:

$war=' where adress like "%'.$szukane.'%"';

nie jestem pewien czy tak jak ty napisałeś, że pojedynczy cudzysłów jest w środku podwójnego, jest źle ale tak jak ja napisałem na pewno jest dobrze.


(Alan Elektro) #3

dalej mi sypie błędami teraz:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Server\tib_xampp\htdocs\testy\szukaj.php on line 13

linijka 13 to

while ($wynik=mysql_fetch_array($bufor)){echo $wynik['description'];}

a linijka 12:

$bufor=mysql_query($zapytanie);

coś nie tak jest z zapytaniem bazy chyba?


(Airborn) #4

modrih , śmiem twierdzić że w stopniu zerowym rozumiesz to co piszesz... napisałeś jakąś funkcję która tak na prawdę nic nie robi, nie zwraca żadnej wartości ani nic, następnie nawet nie wywołujesz tej funkcji, i próbujesz się odwołać do jakiejś nie istniejącej zmiennej $var


(Alan Elektro) #5

gdzie tu widzisz $var?

$war=" where adress like '%".$szukane."%'";
echo $wynik['description']

wyszukiwarkę


(Tom 85) #6

modrih nie kłóć się z mądrzejszym bo dobrze ci mówi....

function funkcja($parametr)

{

$zmienna = 1;

}

echo $zmienna; // błąd

poczytaj jeszcze trochę o tworzeniu funkcji i o zasięgu zmiennych :slight_smile:


(Alan Elektro) #7

to ja już nie wiem jak to naprawić.

przesunąć jeden nawias klamrowy by była funkcja, jak wywołać, no tak się w Delphi wywołuje

to miała być wyszukiwarka w SQL.

eh dam sobie spokój

dziękuje Wam.

mnie chodziło o ten kod:

http://www.frazpc.pl/b/138560


(Tom 85) #8

jak już coś to tak:

function wyszukaj($szukane)

{

$war=" where adress like '%".$szukane."%'";

return $war;

}

a potem tak:

$zapytanie="select * from users left join description on (users.id=description.id) ".wyszukaj('test');

ale i tak nie jestem pewien tego zapytania czy jest dobre....


(L337 Crew) #9

Już prędzej coś takiego...

<?phpfunction wyszukaj( $szukane )