为了账号安全,请及时绑定邮箱和手机立即绑定

为什么是$stmt->fetch(),而不是从$res->fetch()??

$stmt明明是预处理对象,$res是结果集,不是从结果集中fetch结果的吗?

正在回答

4 回答

预处理对象PDOStatement对象中有这个方法啊

你看看手册,这个不是为什么,咱们是游戏的执行者,不是规定者

^-^...

0 回复 有任何疑惑可以回复我~
#1

ye3245

老师你的那个ppt哪里有,或者你说的手册哪里有?
2015-04-12 回复 有任何疑惑可以回复我~

补充一点,

PDOStatement 类

(PHP 5 >= 5.1.0, PECL pdo >= 1.0.0)

简介

代表一条预处理语句,并在该语句被执行后代表一个相关的结果集。

是不是一些就清晰很多了呢!? 看到这句我也清晰了很多

0 回复 有任何疑惑可以回复我~

案例中:$stmt 是PDOStatement对象   fetch()是类中方法。 另外$res = $stmt -> execute() 你var_dump()下$res  你会发现是一个boolean值,也就是说$res是预处理语句执行是否成功的返回值,“对象调用方法”。  知道这里了,再去想为什么是$stmt->fetch()而不是$res->fetch()是不是就清晰很多了呢。PDO的一些方式和思路和mysql的方式不大一样

0 回复 有任何疑惑可以回复我~

通过先$stmt->query()之后,再遍历: $row = $stmt->fetch ( PDO::FETCH_ASSOC )    与

通过$stmt->prepare() then $stmt->exec()  然后再  $row = $stmt->fetch ( PDO::FETCH_ASSOC )  不是一样的吗?


我理解不了 $stmt 和$res 有何区别。求老师指导!!!!

1 回复 有任何疑惑可以回复我~
#1

奉奉

预处理比直接执行查询好,1.效率高 2.防止sql注入
2014-11-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信