はじめに
PHPとMySQLを使ったアプリケーションを作成する際に、多くのサイトではmysql_connectを使ったサンプルが載っています。
だけど、mysql_connectはPHP5.5からは非推奨の関数に指定されているため、今後はmysqliクラスを使ったほうが良いよという話。
いきなりはじめるPHP~ワクワク・ドキドキの入門教室~
posted with amazlet at 14.06.30
谷藤賢一
リックテレコム
売り上げランキング: 2,149
リックテレコム
売り上げランキング: 2,149
mysqliを使ってMySQLに接続する
はじめに、MySQLとの接続部分です。
$mysqli = new mysqli(DBサーバのアドレス, ユーザID, パスワード); if ($mysqli -> connect_errno) { print('<p>データベースへの接続に失敗しました。</p>' . $mysqli -> connect_error); exit(); }
続いて、データベースを選択します。以下の例では、hogeデータベースを使用します。
$mysqli -> select_db('hoge');
}
文字コードの指定。以下の例では、クライアントのデフォルト文字セットをUTF-8にします。
$mysqli->set_charset("utf-8");
SQLの実行は、以下のようなコードを書きます。ユーザからの入力がある部分は、real_escape_string関数でエスケープを行います。
// 入力値のサニタイズ $userid = $mysqli -> real_escape_string($_POST["xxx"]); // クエリの実行 $query = "SELECT * FROM db_user WHERE name = '" . $userid . "'"; $result = $mysqli -> query($query); if (!$result) { print('クエリーが失敗しました。' . $mysqli -> error); $mysqli -> close(); exit(); }
レコードの取得は、fetch_assoc関数を使って1レコードずつ取り出しを行います。
// レコードの取り出し while ($row = $result -> fetch_assoc()) { $pw = $row['password']; } // 結果セットのクローズ $result->free();
最後に、MySQLとの接続をクローズします。
$mysqli -> close();