$dbh->prepare a bindovani parametru
Milan Sorm
xsorm na informatics.muni.cz
Středa Srpen 11 22:59:22 MEST 1999
V Wed, Aug 11, 1999 ve 08:50:55PM +0200 si Martin Caslavsky v konferenci o
Perlu stezuje, ze:
# potreboval bych udelat "select from neco where kde like 'tam_'", pricemz to
# "tam" chci zadavat az pri execute, ale porad nejsem schopen neceho takovyho
# docilit.
# Kdyz dam
# $sth = $dbh->prepare("select from neco where kde like '?_'")
# tak pry execute called with 1 bind variables when 0 are needed
# a kdyz zkusim
# $sth = $dbh->prepare("select from neco where kde like ?_")
# (teda bez uvozovek), tak zase rika, ze parse error blízko ''tam'' na řádku 1
#
# Potom jsem si procetl dokumentaci a zjistil, ze existuje funkce bind_param,
# ale kdyz ji pred execute zavolam jako $sth->bind_param(1, "$prom_") tak mi
# zase tvrdi, ze "execute called with 0 bind variables when 1 are needed"
#
# Da se neco takovyho napsat popripade jak?
# Podotykam, ze to ma byt pro MySQL.
ja to uzivam jako:
$sth = $dbh->prepare('select * from neco where kde like ?');
a pak
$sth->execute($prom.'_');
je vsak pravda, ze MySQL bindovane parametry neumi samo o sobe, ale
predpokladam, ze Perlovske DBI to nejak sesvindluje.
Proti PgSQL a Oraclu to slape pekne.
milan
Další informace o konferenci Perl