konstrukce for ve volani SELECT
Honza Pazdziora
adelton na informatics.muni.cz
Středa Prosinec 15 18:56:46 CET 1999
On Wed, Dec 15, 1999 at 05:42:39PM +0100, mario wrote:
> > > $res = mysql_db_query("databaze","SELECT * FROM tabulka WHERE xxxxxxxxxx");
> > > misto tech xxxxxxxxxx je nejaka konstrukce for.
> >
> > Jaka konstrukce for?
>
> sem to blbe napsal :-/ . cyklus for . tedy nepriklad
>
> for ($i = 0; $i < $count; $i++) nazev = '$nazev[$i]';
Aha. Tak v tom pripade tam ale nemuze byt konstrukce for. Jestli tedy
dobre chytam, co teda, tak chcete selectnout hvezdicku z tabulky
tabulka kde nazev je jeden z pole @nazev. Tak to v MySQL napisete
pomoci zretezeni OR podminek, nebo lepe (v novejsich verzi) pomoci
operatoru IN, kteremu date seznam tech hodnot, ve kterych chcete
hledat. V Perlu bych to tedy zakodoval
my $OTAZNIKY = join ',', ('?') x @nazev;
my $res = $dbh->selectall_arrayref(qq!
SELECT * FROM tabulka WHERE
nazev IN ( $OTAZNIKY )
!, {}, @nazev);
a mel bych v $res arrayref vsech radku. Mam takove tuseni, ze
v PHP bindovane parametry nejsou, cili budete muset ty hodnoty nacpat
primo do toho SQL dotazu, ale protoze se to tak v PHP dela pokazde,
tak to asi ani nevadi.
Doufam, ze to pomuze,
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
.project: Perl, DBI, Oracle, MySQL, auth. WWW servers, MTB, Spain.
------------------------------------------------------------------------
Další informace o konferenci Test