然後我都這麼寫:
沒寫冒號,也可以執行的
然後我都這麼寫:
沒寫冒號,也可以執行的
在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>
你說的省略冒號的哪種做法也的確可以執行,不過還是建議按官方文檔說的那樣做更保險.