我使用PHP msqli建立了一個包含數據庫連接和查詢的網站。Mysqli或PDO?準備好的陳述。客戶端準備的語句
現在我正在認識準備好的陳述是最佳實踐,我正在尋找如何實施它們;以PDO格式重新編寫mysqli數據庫連接代碼和數據庫查詢,或者只使用mysqli預處理語句。
我從服務器端預處理語句通過mysqli的支持,但不是客戶端預處理語句的PHP API文檔看。什麼時候客戶端準備好的聲明被使用?我明白準備語句的唯一目的是查詢數據庫,因此服務器端語言總是會涉及到的,因此總是可以使用服務器端準備好的語句。
它從下面的鏈接看起來像下面的準備語句可以用我的mysqli連接。
http://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php
if (!($stmt = $mysqli->prepare("INSERT INTO test(id) VALUES (?)"))) {
echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
當我看到PDO文檔:ID樣式佔位符使用,而隨後的?下面可以使用mysqli連接嗎?除了讓事情更容易閱讀,還有什麼好處?
$stmt = $conn->prepare('SELECT * FROM myTable WHERE id = :id');
$stmt->execute(array('id' => $id));
我是不是應該忘記mysqli,只是爲了加快PDO的速度?
任何指導將不勝感激。看看如何解決這個問題。
PDO也可以使用'?'索引佔位符。它提供了一個更簡單的API來綁定值。 – mario
因此,如果我使用mysqli進行數據庫連接,則無法使用PDO綁定語法? – DVCITIS
是的,你不能。不要使用mysqli,除非你需要它提供的一個mysql特定的附加功能(你不需要)。其他人都在聚合PDO。 – mario