PHPからMySQLに接続(MySQLi)
PHPからMySQLにアクセスするために、MySQLiを使います。
MySQL改良拡張モジュールということですが、簡単に言うとMySQLに簡単にアクセスするためのクラス群ということにしておきます。
今回使うのは、
mysqli::mysqli()
mysqli::prepare()
mysqli::close()
mysqli_stmt::bind_param()
mysqli_stmt::execute()
mysqli_stmt::store_result()
mysqli_stmt::bind_result()
mysqli_stmt::fetch()
mysqli_stmt::free_result()
mysqli_stmt::close()
です。では簡単に説明。
1.mysqli::mysqli
新規にMySQLサーバへの接続をオープンする。
2.mysqli::prepare
実行するためのSQLステートメントを準備する。
3.mysqli::close
事前にオープンしているデータベース接続を閉じる。
4.mysqli_stmt::bind_param
プリペアdステートメントのパラメータに変数をバインドする。
5.mysqli_stmt::execute
プリペアドクエリを実行する。
6.mysqli_stmt::store_result
プリペアドステートメントから結果を転送する。
7.mysqli_stmt::bind_result
結果を保存するため、プリペアドステートメントに変数をバインドする。
8.mysqli_stmt::fetch
プリペアドステートメントから結果を取得し、バインド変数に格納する。
9.mysqli_stmt::free_result
指定したステートメントハンドルの結果を格納したメモリを開放する。
10.mysqli_stmt::close
プリペアドステートメントを閉じる。
使い方の例
$mysqli = new mysqli("localhost", "ID", "PASSWORD", "db_webprogrammer");
if ($mysqli->connect_error)
{
exit();
}
$stmt = $mysqli->prepare("select NAME from tbl_user where MAIL = ?");
if ($stmt)
{
$stmt->bind_param("s", $mail);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($name);
$stmt->fetch();
$stmt->free_result();
$stmt->close();
}
$mysqli->close();
?>
ほぼ使い方は変わりません。このコードの意味が分かればDBにアクセスするのも難しくないハズです。
次は、セッションと一緒にログイン機能を作ってみます。
MySQL改良拡張モジュールということですが、簡単に言うとMySQLに簡単にアクセスするためのクラス群ということにしておきます。
今回使うのは、
mysqli::mysqli()
mysqli::prepare()
mysqli::close()
mysqli_stmt::bind_param()
mysqli_stmt::execute()
mysqli_stmt::store_result()
mysqli_stmt::bind_result()
mysqli_stmt::fetch()
mysqli_stmt::free_result()
mysqli_stmt::close()
です。では簡単に説明。
1.mysqli::mysqli
新規にMySQLサーバへの接続をオープンする。
2.mysqli::prepare
実行するためのSQLステートメントを準備する。
3.mysqli::close
事前にオープンしているデータベース接続を閉じる。
4.mysqli_stmt::bind_param
プリペアdステートメントのパラメータに変数をバインドする。
5.mysqli_stmt::execute
プリペアドクエリを実行する。
6.mysqli_stmt::store_result
プリペアドステートメントから結果を転送する。
7.mysqli_stmt::bind_result
結果を保存するため、プリペアドステートメントに変数をバインドする。
8.mysqli_stmt::fetch
プリペアドステートメントから結果を取得し、バインド変数に格納する。
9.mysqli_stmt::free_result
指定したステートメントハンドルの結果を格納したメモリを開放する。
10.mysqli_stmt::close
プリペアドステートメントを閉じる。
使い方の例
$mysqli = new mysqli("localhost", "ID", "PASSWORD", "db_webprogrammer");
if ($mysqli->connect_error)
{
exit();
}
$stmt = $mysqli->prepare("select NAME from tbl_user where MAIL = ?");
if ($stmt)
{
$stmt->bind_param("s", $mail);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($name);
$stmt->fetch();
$stmt->free_result();
$stmt->close();
}
$mysqli->close();
?>
ほぼ使い方は変わりません。このコードの意味が分かればDBにアクセスするのも難しくないハズです。
次は、セッションと一緒にログイン機能を作ってみます。