【Step8】MySQL関数 

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へ接続開始
$dbHandle = mysql_connect("localhost");

//DBの接続に失敗した場合はエラー表示をおこない処理中断
if ($dbHandle == False) {
print ("can not connect db\n");
exit;
}

//db名 zaiko
$db = "zaiko";

//SQL文 syohinから全行を取りす
$sql = "select * from syohin";

//SQL文を実行する
$rs = mysql_db_query($db,$sql);

//列数を取得する
$num = mysql_num_fields($rs);

//HTML文を出力 テーブルの開始を指定
print("<table border=1>");

//test表の列数と同じ回数を繰り返す
for ($i=0;$i<$num;$i++){

//HTML文を出力 列名を <td>で囲んで出力
print("<td>".mysql_field_name($rs,$i)."</td>");
}

//表の行数と同じ回数を繰り返す
while($row=mysql_fetch_array($rs)){

//HTML文を出力 表の行の開始<tr> を出力
print("<tr>");

//表の列数と同じ回数を繰り返す
for($j=0;$j<$num;$j++){

//HTML文を出力 列の内容を <td>で囲んで出力
print("<td>".$row[$j]."</td>");
}
//HTML文を出力 表の改行</tr> を出力
print("</tr>");
}

//HTML文を出力 テーブルの終了を指定
print("</table>");

//結果レコードをメモリから開放
mysql_free_result($rs);

//DBへの接続を切断
mysql_close($dbHandle);

?>

《実行結果》(ローカル)

ロリポップでMySQLを使う 

《実行サンプル》(サーバー)

レンタルサーバー(ロリポップ)で上記と同じデータベースを作ってみました。

  1. ロリポップででMySQLを使うには、「データベース作成」へアクセスします。そこで発行された情報を、データベースの接続として使います。
    データベース作成にアクセスするために必要な情報は、「サーバー」「データベース名」「ユーザー名」「パスワード」です。
  2. テーブルを作成します。次のようなテーブルを作成してみました。

  3. 「追加」ボタンをクリックすると、データを入力できます。


  4. テキストファイルからデータを読み込むこともできます。「SQL」タブをクリックすると、次のような操作画面が表示されます。
    「テーブルにテキストファイルを追加する」をクリックします。

  5. 区切り記号などの設定をして「実行」をクリックします。

  6. インポートした結果です。