Microsoft SQL Server 関数 (PDO_SQLSRV)
定義済み定数
このドライバでは以下の定数が定義されて
います。これは拡張モジュールが PHP に組み込まれているか、実行時に動的にロード
されている場合のみ使用可能です。さらに、これらのドライバ固有の定数は
そのドライバを使用している場合にのみ使用されます。
あるドライバ固有の属性を別のドライバで使うと、予期せぬ結果を引き起こします。
もし複数のドライバを使用しているコードを実行している場合、
PDO::getAttribute() で PDO::ATTR_DRIVER_NAME
属性を使用することで、使用中のドライバ名を調べることが可能です。
-
PDO::SQLSRV_TXN_READ_UNCOMMITTED
(int)
-
この定数は、SQLSRV DSN のキー TransactionIsolation で使えます。
この接続のトランザクション隔離レベルを、Read Uncommitted に設定します。
-
PDO::SQLSRV_TXN_READ_COMMITTED
(int)
-
この定数は、SQLSRV DSN のキー TransactionIsolation で使えます。
この接続のトランザクション隔離レベルを、Read Committed に設定します。
-
PDO::SQLSRV_TXN_REPEATABLE_READ
(int)
-
この定数は、SQLSRV DSN のキー TransactionIsolation で使えます。
この接続のトランザクション隔離レベルを、Repeateable Read に設定します。
-
PDO::SQLSRV_TXN_SNAPSHOT
(int)
-
この定数は、SQLSRV DSN のキー TransactionIsolation で使えます。
この接続のトランザクション隔離レベルを、Snapshot に設定します。
-
PDO::SQLSRV_TXN_SERIALIZABLE
(int)
-
この定数は、SQLSRV DSN のキー TransactionIsolation で使えます。
この接続のトランザクション隔離レベルを、Serializable に設定します。
-
PDO::SQLSRV_ENCODING_BINARY
(int)
-
サーバーとの間のデータの送受信を生のバイトストリームで行い、
符号化や変換を一切しないように指示します。
この定数は、
PDOStatement::setAttribute、PDO::prepare、PDOStatement::bindColumn および
PDOStatement::bindParam に渡せます。
-
PDO::SQLSRV_ENCODING_SYSTEM
(int)
-
サーバーとの間のデータの送受信を 8 ビット文字として行い、
システムに設定された Windows のロケールのコードページを利用します。
このコードページにマップできない文字はすべて、シングルバイトのクエスチョンマークに置き換えられます。
この定数は、PDOStatement::setAttribute、PDO::setAttribute、PDO::prepare、
PDOStatement::bindColumn および PDOStatement::bindParam に渡せます。
-
PDO::SQLSRV_ENCODING_UTF8
(int)
-
サーバーとの間のデータの送受信を UTF-8 エンコーディングで行います。
これが、デフォルトの符号化方式です。この定数は、
PDOStatement::setAttribute、PDO::setAttribute、PDO::prepare、
PDOStatement::bindColumn および PDOStatement::bindParam に渡せます。
-
PDO::SQLSRV_ENCODING_DEFAULT
(int)
-
サーバーとの間のデータの送受信を、接続時に指定した
PDO::SQLSRV_ENCODING_SYSTEM に従って行います。プリペアドステートメントの中で指定された場合は、
その接続で設定されているエンコーディングを利用します。この定数は、
PDOStatement::setAttribute、PDO::setAttribute、PDO::prepare、
PDOStatement::bindColumn および PDOStatement::bindParam に渡せます。
-
PDO::SQLSRV_ATTR_QUERY_TIMEOUT
(int)
-
非負の整数で、タイムアウト秒数を指定します。ゼロがデフォルトで、これはタイムアウトしないことを意味します。
この定数は、PDOStatement::setAttribute、PDO::setAttribute および PDO::prepare に渡せます。
-
PDO::SQLSRV_ATTR_DIRECT_QUERY
(int)
-
クエリを直接実行し、準備しないことを指示します。
この定数は、PDO::setAttribute および PDO::prepare に渡せます。詳細な情報は
» Direct and Prepared Statement Execution
を参照ください。
目次
ian at helastel dot com ¶7 years ago
An updated driver compatible with both PHP 7.0 and Linux is available on the PHP-7.0-Linux branch of https://github.com/Microsoft/msphpsql/
This is more up to date and supports some additional features over the ODBC / DBLIB drivers.
It is currently considered an 'Early Technical Preview' and hence has some limitations, but in my experience it has been stable.
John P ¶9 years ago
As of 12/12/2014, Microsoft has officially released Version 3.1.
Support for 5.5 has 4 drivers
php_pdo_sqlsrv_55_nts.dll
php_pdo_sqlsrv_55_ts.dll
php_sqlsrv_55_nts.dll
php_sqlsrv_55_ts.dll
Note: Version 3.1 now supports PHP 5.5 and requires Microsoft ODBC Driver 11 (or higher)
You can downlod the new driver from
http://www.microsoft.com/en-us/download/details.aspx?id=20098
fleduc dot perso at gmail dot com ¶6 years ago
Watch out!
If you use PDO SQLSRV on windows 7, using 32 bit php on XAMMP, you might encounter driver problems : "This extension requires the Microsoft ODBC Driver 11 for SQL Server to communicate with SQL Server"
The reason, Microsoft 32-bit ODBC driver doesn't install properly on 64-bit Windows 7.
Check the solution to PDO SQLSRV driver problem here in StackOverflow
https://stackoverflow.com/a/46245990/1330248