pdo(pdo线是什么材质)

下載 PHP 驅動程式

進行執行陳述式的準備。



$陳述式

包含 SQL 語句的字串。

key_pair

陣列,包含屬性名稱和值。 如需詳細資訊,請參閱備註一節。

傳回成功時的物件。 失敗時,會 根據的值 傳回 物件或 false。

Microsoft Drivers for PHP for SQL Server 在執行之前不會評估備妥的語句。

下表列出可能的 key_pair 值。

Key 描述 指定資料指標行為。 預設值為 ,此為不可捲動的順向資料指標。 為可捲動的資料指標。

例如: 。pdo

當設定為 時,您可以使用 來設定可捲動數據指標的類型,本文稍後會加以說明。

如需驅動程式中結果集和數據指標的詳細資訊,請參閱數據指標類型(PDO_SQLSRV驅動程式)。 根據預設,此屬性為 false,您可以使用這個 進行變更。 如需詳細資訊和範例,請參閱模擬準備。 指定可捲動資料指標的類型pdo。 只有在將 設定為 時有效。 如需此屬性可採用的值,請參閱本文稍後的 。 指定將擷取的貨幣值格式化時的小數位數。 此選項只有當 為 true 時才能運作。 如需詳細資訊,請參閱將十進位字串及貨幣值格式化 (PDO_SQLSRV 驅動程式)。 當 pdo 時 ,指定直接查詢執行。 表示備妥的語句執行。 如需 的詳細資訊,請參閱 PDO_SQLSRV 驅動程式中的直接陳述式執行和已備妥的陳述式執行。 (預設值)

指定是否要以 PHP DateTime (英文) 物件形式擷取日期和時間類型。 如需詳細資訊,請參閱如何:使用 PDO_SQLSRV 驅動程式以 PHP DateTime 物件形式擷取日期和時間類型。 處理從數值 SQL 類型資料行擷取的數值。 如需詳細資訊,請參閱 PDO::setAttribute。 指定是否要在適當時於十進位字串中新增前置零。 如果設定,此選項就會啟用 選項來將貨幣類型格式化。 如需詳細資訊,請參閱將十進位字串及貨幣值格式化 (PDO_SQLSRV 驅動程式)。 如需詳細資訊,請參閱 PDO::setAttribute。

使用 時,您可以使用 來指定資料指標的類型。 例如,將下列陣列傳遞至 以設定動態資料指標:


下表會顯示 的可能值。 如需可捲動資料指標的詳細資訊,請參閱資料指標類型 (PDO_SQLSRV 驅動程式)。

值 Description 建立用戶端 (已緩衝處理) 的靜態資料指標,其會在用戶端電腦上的記憶體中緩衝處理結果集。 建立伺服器端動態數據指標,可讓您依任何順序存取數據列,並反映資料庫中的變更。 建立伺服器端索引鍵集資料指標。 索引鍵集數據指標不會在數據表中刪除數據列時更新數據列計數(已刪除的數據列未傳回任何值)。 建立伺服器端靜態數據指標,可讓您依任何順序存取數據列,但不會反映資料庫中的變更。

意指 。

您可以呼叫 來關閉 物件:



此範例示範如何搭配參數標記和正向數據指標使用 。



此範例示範如何搭配伺服器端靜態數據指標使用 。 如需顯示用戶端資料指標的範例,請參閱資料指標類型 (PDO_SQLSRV 驅動程式)。



下列兩個代碼段示範如何搭配以 char / varchar 數據行為目標的數據搭配使用。 因為的預設編碼 是UTF-8,因此使用者可以使用 選項 來避免隱含轉換。

選項 1


選項 2



此範例示範如何搭配設定為 true 的 來使用 PDO::prepare。


驅動程式會在內部以 PDOStatement::bindParam() 所系結的參數取代所有佔位元。 因此,會將不含任何預留位置的 SQL 查詢字串傳送至伺服器。 請考慮此範例:


藉由將 設定為 false (預設情況),傳送至資料庫的資料為:


伺服器會使用係結參數的參數化查詢功能來執行查詢。 另一方面,藉由將 設定為 true,傳送至伺服器的查詢本質上為:


將 設定為 true,可以略過 SQL Server 中的一些限制。 例如,SQL Server 不支援某些 Transact-SQL 子句中的具名或位置參數。 此外,SQL Server 有系結 2,100 個參數的限制。

如果使用者想要繫結含不同編碼 (例如 UTF-8 或二進位) 的參數,則使用者應該明確地在 PHP 指令碼中指定編碼。

驅動程式 會先檢查 中指定的 編碼方式(例如 , 。

如果找不到,驅動程式就會檢查是否已在 或 中設定任何編碼。 否則,驅動程式會使用 或 中指定的編碼方式。

此外,從 5.8.0 版開始,使用 PDO::p repare 設定 為 true 時,使用者可以使用 PHP 7.2 中引進的擴充字元串類型,以確保 使用前置詞。 下列代碼段會顯示各種替代方案。

系結時使用驅動程式選項 PDO::SQLSRV_ENCODING_UTF8


使用 PDO::SQLSRV_ATTR_ENCODING 屬性


使用 PDO 常數 PDO::P ARAM_STR_NATL


設定預設字串參數類型 PDO::P ARAM_STR_NATL



如您所見,繫結會在內部由驅動程式來完成。 有效的查詢會在不含任何參數的情況下傳送到伺服器來執行。 相較於一般案例,參數化查詢功能未使用時,會產生一些限制。

  • 它不適用於系結為 的參數。
    • 當使用者在 中指定 時,即會擲回 PDO 例外狀況。
  • 它不適用於係結為輸出參數的參數。
    • 當使用者搭配用來作為輸出參數的預留位置 (也就是,在預留位置後面緊接著等號,例如 ) 建立已備妥的陳述式時,即會擲回 PDO 例外狀況。
    • 當備妥的語句使用佔位元作為輸出參數的自變數叫用預存程式時,不會擲回例外狀況,因為驅動程式無法偵測輸出參數。 不過,用戶為輸出參數提供的變數保持不變。
  • 二進位編碼參數的重複佔位元無法運作。
  • PDO 類別
  • PDO

转载请说明出处 内容投诉内容投诉
九幽软件 » pdo(pdo线是什么材质)