MySQL LIKE

Hey,

A more bit LIKE v query-u vedno definiran iz forme ? Ali ga je možno definirati glede na title strani oz. določene vrstice v tabeli ?

11 odgovorov

Sry, ampak ... tole je pa mal bedno vprašanje. :))

Če že poznaš LIKE, potem bi moral vedeti, da lahko od kjerkoli dobiš variablo, ki jo postaviš v SQL stavek. Zakaj bi morala biti definirana iz forme? :-/

Nevem, če je ravno tako simpl, zakaj ne izpiše kot želim ?

želim, da glede na title in names definira LIKE..

koda:
$relquery = "SELECT * FROM clips WHERE title LIKE '%$prnames%'";
$prnames = mysqlrealescape_string($names);

Tale koda mi vrže vsa imena vn..

Mogoce bi lahko zamenjal vrstni red teh dveh vrstic? :)

Takole:

$prnames = mysql_real_escape_string($names);
$relquery = "SELECT * FROM clips WHERE title LIKE '%$prnames%'";

Je pa vprasanje, kaj se nahaja v spremenljivki $names. Plural oblika imena spremenljivke mi nakazuje na to, da imas v $names seznam necesa. Lahko poves, kaj se nahaja v spremenljivki $names?

No sej dejansko prnames je zgorej, pa ne dela.. So pa notri imena in priimki..

Zakaj si ne narediš enega simple classa, ki ga imaš za delo z bazo? Ta mysqlreal... vedno moraš klicat in vse ...

$DB = new DB;
$DB->Query("SELECT * FROM clips WHERE title LIKE '%?%'", $prnames);

foreach ($DB->QueryResult as $clip)
... do whatever you want with $clip ... :)

Je pa res tole malo dvomljivo - da ti LIKE uporabljaš na seznamu. :-)

Men se zdi logično :))

Mactron, v kaksno obliki so notri imena in priimki? Je to string v stilu "Janez Novak, Pepe Korencek, Rezka Zizek" ali je $names mogoce array? V nobenem primeru tale tvoja koda nima niti najmanjse sanse, da dela to, kar bi ti od nje rad :)

Janez Novak, Pepe Korencek, Rezka Zizek :D

hmmm.. se mi zdi dokaj logično, da preveriš ime sprva v titlu in nato poiščeš v names.... Mogoče kak link za lažjo orentacijo :) ?

Link za lazjo orientacijo: MySQL pattern matching