官网介绍pdo的execute这么绑定命名参数,但是不写冒号也行
程序员文章站
2022-04-19 08:08:33
...
然后我这么写:
没写冒号,也可以执行的
回复内容:
然后我这么写:
没写冒号,也可以执行的
在PDO预处理绑定参数执行查询时有两种方式:
一种是"问号占位符"(从左到右,顺序一一对应):
$stmt = $db->prepare('UPDATE posts SET post_title = ?, post_content = ? WHERE id = ?');
$stmt->execute(array($title, $content, $id)); //所有值视作PDO::PARAM_STR处理
一种是"命名占位符":
$stmt = $db->prepare('UPDATE posts SET post_title = :title, post_content = :content WHERE id = :id');
$stmt->execute(array(':title' => $title,':content' => $content,':id' => $id)); //所有值视作PDO::PARAM_STR处理
你说的省略冒号的哪种做法也的确可以执行,不过还是建议按官方文档说的那样做更保险.
上一篇: thinkphp的静态缓存用法分析