读书人

PHP PDO prepare/execute 对拼接字段的

发布时间: 2012-10-08 19:54:56 作者: rapoo

PHP PDO prepare/execute 对拼接字段的问题

修改DZ使用pgsql,数据库日志里面一个错误:

?

$sth = $dbh->prepare("SELECT s.sid, s.styleid, s.groupid='6' AS ipbanned, s.pageviews AS spageviews, s.lastolupdate, s.seccode, $membertablefields? FROM {$tablepre}sessions s, {$tablepre}members m? WHERE m.uid=s.uid AND s.sid='$sid' AND ? ? ? ? (s.ip1 || '.' || s.ip2 || '.' || s.ip3 || '.' || s.ip4)=? AND m.uid=?AND m.password=? AND m.secques=?");?

?

经过测试,对于 (s.ip1 || '.' ... s.ip4) 这样的拼接字段不能绑定数据去preare。修改为如下后解决:

$sth = $dbh->prepare("SELECT s.sid, s.styleid, s.groupid='6' AS ipbanned, s.pageviews AS spageviews, s.lastolupdate, s.seccode, $membertablefields  FROM {$tablepre}sessions s, {$tablepre}members m  WHERE m.uid=s.uid AND s.sid='$sid' AND       (s.ip1 || '.' || s.ip2 || '.' || s.ip3 || '.' || s.ip4)='$onlineip' AND m.uid=?AND m.password=? AND m.secques=?");
?

?

?

?

?

?

?

读书人网 >PowerDesigner

热点推荐