|
|
ru.website- RU.WEBSITE ------------------------------------------------------------------- From : Pavel Ammosov 2:5020/52 21 Jun 2001 08:30:55 To : Andrej Ramaszeuski Subject : Re: Литература по PHP -------------------------------------------------------------------------------- AR>Hi, Igor! AR>19 Jun 2001 07:10, you wrote to alexey kuleshov: IM>> Во. Может подскажешь тогда, раз все аналогичное сделано, нет ли уже в IM>> ПХП такой простой и элементарной, но очень удобной и просто IM>> необходимой вещи, как placeholder'ы в sql запросах? Типа перла: IM>> $sth=$dbh->prepare("select * from table where id=?"); IM>> $sth->execute($param); AR>Hе в куpсе, как насчёт этого в php, но в DBI placeholders ну никак не AR>является необходимой вещью. Что я пpоигpаю, если сделаю это так: AR>$sth=$dbh->prepare("select * from table where id='$param'"); AR>$sth->execute; Ты потеряешь все, если какой-нибудь умник умудрится в $param пропихнуть '; drop table; Hо, даже если тебя это и не пугает (кого сейчас волнует безопасность?), используя промышленные серверы БД (informix, oracle) ты можешь потерять в производительности: СУБД перед выполнением запросы ищут план для него в кеше и запрос вида select foo from bar where foo=1; будет для кеша отличен от запроса select foo from bar where foo=5; в то время как с placeholderами в кеш пойдет select foo from bar where foo=?; и сервер сможет использовать это план для разных селектов. В cdi писали страшные истории про то, как софтина исполнялась с намертво прошитыми значениями за 20 часов, а с использованием prepared курсоров -- за полчаса. -- Pavel Ammosov O \ apavel@aha.ru __ ) http://isabase.philol.msu.ru/~apavel/ ) wget -O - isabase.philol.msu.ru/~apavel/key.asc|pgp -fka O / --- FIDOGATE 4.4.0-snp10 * Origin: Zenon N.S.P. news server (2:5020/52.0) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.website/30772cd9a31ac.html, оценка из 5, голосов 10
|