然后我这么写:
没写冒号,也可以执行的
然后我这么写:
没写冒号,也可以执行的
在PDO预处理绑定参数执行查询时有两种方式:
一种是"问号占位符"(从左到右,顺序一一对应):
<code>$stmt = $db->prepare('UPDATE posts SET post_title = ?, post_content = ? WHERE id = ?'); $stmt->execute(array($title, $content, $id)); //所有值视作PDO::PARAM_STR处理</code>
一种是"命名占位符":
<code>$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处理</code>
你说的省略冒号的哪种做法也的确可以执行,不过还是建议按官方文档说的那样做更保险.