[英]Using Php PDO Insert statement
有人告訴我,當您使用PDO時,不能使用“ INSERT INTO .... SET”將數據插入數據庫,因為它不適用於MySQL以外的數據庫。 我不確定他到底是什么意思,也許他是說我應該使用其他插入方法,例如
INSERT INTO table (column1, column2) VALUES (?, ?)
我嘗試在互聯網上搜索此內容,但找不到任何內容。 請讓我知道這一點。
謝謝。
PHP PDO中的位置參數就可以了。 另一個選項名為參數。 如果從我在PDO C代碼中看到的內容正確地記住,則是PHP而不是DBM來進行替換。
正如指出這唯一的區別文件檔案,B / N MySQL驅動程序和其他人在下面說明。 假設這是一個簡單的查詢:
<?php
$stmt = $db->query('SELECT * FROM table');
$row_count = $stmt->rowCount();
echo $row_count.' rows selected';
現在,讓我們閱讀文檔如何說明僅當mysql驅動程序時該查詢如何/為什么查詢可以返回affected_rows
數
注意 :盡管文檔說此方法僅用於從
UPDATE
,INSERT
,DELETE
查詢返回受影響的行,但使用PDO_MYSQL驅動程序(僅此驅動程序),您可以獲取SELECT
查詢的行數。 為多個數據庫編寫代碼時,請記住這一點。這是因為MySQL的協議是為
SELECT
語句提供此信息給客戶端的極少數協議之一。 其他大多數數據庫供應商都不會將此信息泄露給客戶端,因為這將在其實現中產生更多的開銷。
據我所知,兩者之間幾乎沒有差異。
INSERT INTO ... SET
語法不是ANSI SQL標准的一部分,因此在不同的RDBMS實現中不受廣泛支持。 如果您正在設計應用程序以使其與MySQL緊密耦合,則可以使用此語法。 如果試圖設計使應用程序不與RDBMS實現緊密結合,則應使用更標准的INSERT INTO table (columns) VALUES (values)
語法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.