PHPには「MySQL」を操作するための関数が提供されています。
サーバーへの接続を開く
mysql_connect()関数
《構文》
mysql_connect ([ホスト名][:ポート番号][:ソケットへのパス],[ユーザー名],[パスワード]) |
サーバーとの接続を閉じる
mysql_close()関数
mysql_clost (接続ID) |
《サンプル》
?php $con = mysql_connect("localhost"); if (!$con) { echo "Error:接続できませんでした"; } else { echo "接続ID = $con"; // メモリを開放します mysql_close($con); } ?> |
《実行結果》 (ローカルでの実行)
データを取得する
mysql_select_db()関数 (データベースの選択)
データベースの選択に成功した場合には、指定したデータベースが選択され、trueが返され、失敗したときにはFalseが返されます。
《構文》
mysql_select_db(データベース,接続ID) |
mysql_query()関数 (クエリの発行)
mysql_connectで取得した接続IDを使ってSQLを実行します。クエリを発行した場合には、結果IDが返されます。この結果IDを使って取得した結果セットにアクセスします。この関数で返された結果IDは後のレコードの取得処理などで使います。
《構文》
mysql_query(SQL文,接続ID) |
mysql_fetch_row()関数 (レコードを返す)
結果IDを引数にして、レコードを1行ずつ配列で返します。配列の添え字は「0」から始まります。
《構文》
mysql_fetch_row(SQLの結果ID) |
mysql_fetch_array()関数 (レコードを返す)
mysql_fetch_row関数を拡張した関数です。
検査結果の型に、を「連想配列」(mysql_assoc)「通常の配列」(mysql_num)「連想配列と通常の配列」(mysql_both)が指定できます。最終行に達した場合はfalse(=
0)を返します。
《構文》
array mysql_fetch_array(SQLの結果ID,結果の型) |
mysql_result()関数 (セルの内容を返す)
結果IDと行数、列数、を引数として、取得した結果セットから指定された1つのセルの内容を返します。
《構文》
mysql_result(SQLの結果ID,行,フィールド) |
mysql_free_result関数 (メモリの開放)
SQL実行処理が終わったとは使用した結果セットをクリアします。
《構文》
mysql_result(SQLの結果ID) |
次のサンプルを作るにあたってはこちらのページを参考にさせていただきました。
下記のデータは、テーブルをMySQLで作成し、データ入力はAccessでいたしました。
MySQL + Access + PHP ということになります。
《サンプル》
<? //DBへ接続開始 //DBの接続に失敗した場合はエラー表示をおこない処理中断 //db名 zaiko //SQL文 syohinから全行を取りす //SQL文を実行する //列数を取得する //HTML文を出力 テーブルの開始を指定 //test表の列数と同じ回数を繰り返す //HTML文を出力 列名を <td>で囲んで出力 //表の行数と同じ回数を繰り返す //HTML文を出力 表の行の開始<tr> を出力 //HTML文を出力 テーブルの終了を指定 //結果レコードをメモリから開放 //DBへの接続を切断 ?> |
《実行結果》(ローカル)
ロリポップでMySQLを使う
《実行サンプル》(サーバー)
レンタルサーバー(ロリポップ)で上記と同じデータベースを作ってみました。