技術メモ 読む時間 約2分

Xserver エックスサーバーでMySQLにPDO接続

Xserver エックスサーバーでMySQLにPDO接続
xserver エックスサーバー

PHP で MySQL に PDO で接続する

接続先のホスト名(mysql◯◯.xserver.jp)やデータベース名は、エックスサーバーのサーバーパネルの「MySQL 設定」で確かめられます。

$dsn      = 'mysql:dbname=データベース;host=mysql◯◯.xserver.jp;charset=utf8mb4';
$user     = 'ユーザーID';
$password = 'パスワード';

try {
  $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
  error_log('DB 接続エラー: ' . $e->getMessage());
  exit('いま接続できません。時間をおいてお試しください。');
}

エラーの中身(getMessage)をそのまま画面に出すと、接続先などが訪問者に見えてしまいます。公開するページでは、ログに書き出して、画面には短い案内だけを出しましょう。文字コードは、絵文字も扱える utf8mb4 がおすすめです。

エックスサーバーでは、使う MySQL のバージョンによって接続先のホストが変わります。

SQL を実行するサンプル

$stmt = $dbh->query('SELECT * FROM test');
foreach ($stmt as $row) {
  echo htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8');
}

値を条件に使うときは、query() ではなく prepare() と execute() を使います(SQL インジェクションを防ぐため)。

エックスサーバーの最新情報

最新の情報は、エックスサーバーの公式の「ニュース」で確かめられます。

この記事を書いた人

フリースタイル

Web の仕事 25 年以上。WordPress の保守・引っ越しと、PHP の業務の仕組みづくり。 プロフィール →

まずは、お気軽にご相談ください。

相談と見積もりは無料です。急ぎのときは、フォームで「急ぎ」を選んでください。

相談のフォームから送る ランサーズから依頼する

ランサーズでのやりとりも、同じ担当がお受けします。

メールでも受け付けています:info@fs-create.net