MySQL 関数 (PDO_MYSQL)はじめにPDO_MYSQL は、PHP から MySQL データベースへのアクセスを可能にするための PHP Data Objects (PDO) インターフェイス を実装したドライバです。 PDO_MYSQLは、 デフォルトでエミュレートされたプリペアドステートメントを使います。 MySQL 8 PHP 7.1.16 より前のバージョン、もしくは PHP 7.2.4 より前の 7.2系の PHP では、 MySQL 8 サーバーのデフォルトパスワードプラグインを mysql_native_password に設定するようにしてください。 さもないと、 The server requested authentication method unknown to the client [caching_sha2_password] のようなエラーを見ることになります。たとえあなたが caching_sha2_password を使っていなくても、です。
これは MySQL 8 のデフォルトが 古い PHP (mysqlnd)
のリリースが認識していないプラグイン caching_sha2_password だからです。
かわりに、my.cnf の設定を
警告
注意: MySQL のテーブル型 (ストレージエンジン) の中には、 トランザクションをサポートしていないものがあります。 トランザクションをサポートしていないテーブル型を使用して トランザクションを使用するコードを書くと、 MySQL はトランザクションが正常に使用できたかのように振舞います。 さらに、DDL クエリを実行する際には、 実行中のトランザクションが暗黙的にコミットされます。
インストール手順一般的な Unix ディストリビューションには、バイナリ版の PHP がインストールされています。 これらのバイナリ版は、通常は MySQL 拡張モジュールを有効にしてビルドされています。 しかし、拡張モジュールのライブラリ自身を別パッケージでインストールする必要があるでしょう。 使用しているディストリビューションのパッケージマネージャで確認してみましょう。
たとえば Ubuntu なら、 この拡張モジュールを自分でコンパイルすることもできます。 PHP をソースからビルドすれば、使いたい MySQL 拡張モジュールを指定したり 各拡張モジュールが使用するクライアントライブラリを選択したりすることができます。
--with-pdo-mysql[=DIR] で
PDO MySQL 拡張モジュールをインストールします。オプションの オプションの --with-mysql-sock[=DIR] で MySQL unix ソケットの場所を指定することができます。これは PDO_MYSQL を含むすべての MySQL 拡張モジュールで利用します。省略した場合はデフォルトの場所を検索します。 オプションの --with-zlib-dir[=DIR] で、 libz のインストールプレフィックスを指定することができます。
$ ./configure --with-pdo-mysql --with-mysql-sock=/var/mysql/mysql.sock
SSL サポートを有効にするには、適切な
定義済み定数このドライバでは以下の定数が定義されて
います。これは拡張モジュールが PHP に組み込まれているか、実行時に動的にロード
されている場合のみ使用可能です。さらに、これらのドライバ固有の定数は
そのドライバを使用している場合にのみ使用されます。
あるドライバ固有の属性を別のドライバで使うと、予期せぬ結果を引き起こします。
もし複数のドライバを使用しているコードを実行している場合、
PDO::getAttribute で
実行時設定php.ini の設定により動作が変化します。
以下に設定ディレクティブに関する 簡単な説明を示します。
|