Category : WEB技術
ウェブサイトを作る業務と一口に言ってもデザイナーやコーダーなど幾つかの職種があり、分業するのが基本かと思いますが、ときにはデザイナーがプログラムを触ったり、プログラマーがデザインを触らなければいけないケースもあったりします。
普段phpを扱う方にとってはphp7ではMySQL関数が使えないことは当然知っていなければいけない知識ですがデザイナーの方など、普段プログラムに関わらない方にとっては寝耳に水な方もいらっしゃると思うのでご紹介します。
MySQL関数とは以前のPHPで使用されていたデータベースに接続する機能です。
php5.6以前では使用できますが、php7以降では使用できません。
//サーバーに接続
$con = mysql_connect(サーバー名, ユーザー名, パスワード);
//データベースを指定
$result = mysql_select_db(データベース名, $con);
//文字セットを指定
$result = mysql_query(‘SET NAMES utf8’, $con);
//SQLを実行
$result = mysql_query(“INSERT INTO テーブル名(namae , memo ) VALUES(‘$namae’ , ‘$memo’)”, $con);
//サーバーの接続を切る
$con = mysql_close($con);
上記がMySQL関数を使いDBに接続する最もシンプルな流れです。
さて、PHP7以降でも使用できるDBに接続するためのAPIはmysqliとPDOがありますが、今回はMySQL関数からシンプルに移行することが目的なので、どちらかといえば学習が容易なmysqliを使います。
下記が上記のMySQL関数を使ったものをmysqliを使ったものに差し替えたものです。
//サーバーに接続しデータベースを指定
$mysqli = new mysqli(サーバー名, ユーザー名, パスワード, データベース名);
if ($mysqli->connect_error) {
//エラーの場合
echo $mysqli->connect_error;
exit();
} else {
//文字セットを指定
$mysqli->set_charset(“utf8”);
}
//SQLを実行
$query = “INSERT INTO テーブル名(namae , memo) VALUES (‘$namae’ , $memo’);”;
if( $mysqli->query( $query ) ) {
//SQLの実行が成功した場合
echo “<p>成功</p>”;
}else{
//SQLの実行が失敗した場合
echo “<p>失敗</p>”;
}
//サーバーの接続を切る
$mysqli->close();
MySQL関数のほうではサーバーに接続とDBを指定が別になっていましたが、mysqliでは1行で完結できるようになりました。
SQL実行の書き方もちょっと変わっているのでご注意ください。