btcq.net
当前位置:首页 >> pDo prEpArE >>

pDo prEpArE

<?php$rs = $db->prepare("SELECT * FROM foo");$rs->execute(); while($row = $rs->fetch()){ print_r($row); }?>貌似没区别、

可以的.可以在bindParam加个参数,例如整数:PDO::PARAM_INT,你可以查询一下手册了解所有的类型[ol][*] [*]$val = 5;[*]$sql = \"REPLACE table (column) VALUES (:val)\";[*]$stmt = $dbh->prepare($sql);[*]$stmt->bindParam(\':val\', $val, PDO::PARAM_INT);[*]$stmt->execute();[*][*][/ol]

price前面加$ 因为实在php的环境 而不是sql

$count=$dbh->prepare("select * from ? where score");$count->execute(array($table,$score));$countNum=$count->rowCount();返回$count=0$count=$dbh->prepare("select * from {$table} where score");$count->execute(array($score));$countNum=$count->rowCount();正常返回$count=45

如果我没记错的话,PDO要过滤特殊字符,主要是靠PDOStatement::bindParam方法,如果你没用上这个方法,好像没办法自动过滤.

$pdo=new pdo() 需要把pdo实例化一下

prepare需要一个pdo对象,然后通过prepare把sql装载进去,此时并没有执行sql,而仅仅是预装载sql.query是直接执行了sql语句,并返回一个结果集对象.

$pdo = new PDO(//配置);$sql = 'SELECT field FROM table WHERE field=:condition';$r = $pdo->prepare($sql); $r->execute(array(':condition'=>$param)); //这里把参数直接以数组的形式传进去,其余工作prepare会自动帮你完成//prepare

你需要的是Transaction吧 START TRANSACTIONSELECT ******UPDATE ******UPDATE ******COMMIT

原帖由 于 2008-9-24 18:37 发表 [i][/url]PDOStatement只对value做处理,prepare的就是一个sql pattern.你传的什么sql pattern,执行的就是那个结果.想知道具体执行的sql的话,把execute进去的的array dump出来就对了~只要本身sql调试的时候

相关文档
zdhh.net | bdld.net | hyfm.net | jmfs.net | ppcq.net | 网站首页 | 网站地图
All rights reserved Powered by www.btcq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com