PDOとは
10数年前に初めてPHPに触れた際には、MySQLへの接続はmysql_connect関数を使って接続していました。その後、PHPはアップデートされ、mysql_connect関数はPHP5.5で非推奨、PHP7で使えなくなりました。
現在は、mysqli関数またはPDOのいずれかをつかってMySQLに接続します。
PDOは標準でPHPに組み込まれているので、PHP5.1以降であれば何もせずに利用できます。
PDOのメリットは、
「使用しているデータベースが何であるかにかかわらず、同じ 関数を使用してクエリの発行やデータの取得が行える」
https://www.php.net/manual/ja/intro.pdo.php
ことにより、MySQL以外のデータベースにも原則は同じ記述で接続できるようです。
また、SQLインジェクション対策としてPDOのprepareメソッドを利用できることもメリットに感じます。
PDOを使ってレンタルサーバー(エックスサーバー)に接続
$dsn = 'mysql:dbname=xsvx*******_****;host=*******.xserver.jp;charset=utf8'; $user = 'xsvx*******_****'; $password = '************'; try { $dbh = new PDO($dsn, $user, $password); } catch(PDOException $e) { echo 'DB接続エラー: ' . $e->getMessage(); }
参考)PDO::__construct — データベースへの接続を表す PDO インスタンスを生成する
https://www.php.net/manual/ja/pdo.construct.php
安価で比較的安定しているエックスサーバーでの接続例です。エックスサーバーは以前は結構動作も早かったのですが、最近は少し遅くなったような気もします。
上記ファイルを実行して、なにも表示されていなければ、正常に接続できています。
ただ、実際に運用する際にはデータベースの接続情報はpublic_html以下にアップロードするのは危険ですので、public_htmlより上の階層に保存して、適宜読み込むように修正が必要です。
コメント