phpからMySQLのデータを表示してみる
何か作ってみよう
基本的なことを紹介したホームページはたくさんあるのでいきなりアプリを製作しようと思います。
必要になったことは、随時追加していきます。とはいえ、なんとなく基礎的なところはおさえておきたいので軽くさわって見ます。
環境:
- Linux(Plamo)
- Apache1.3.33
- MySQL1.4.8
- php5.0.3
- Smarty2.6.6
phpからMySQLのデータを表示してみる
phpでは、htmlにプログラムを埋め込みます。(埋め込まなくてもいいようですが…)
プログラムの開始と終了は で閉じます。
データベースへの接続は、mysql_connect関数を使用します。
それでは、最初にMySQLのuserテーブルを表示してみます。
<html>
<head>
<title>Sample</title>
</head>
<body>
<?php
$cn = mysql_connect("localhost","root","パスワード");
if(!$cn){
die("db connect Error");
}
if(!(mysql_select_db("mysql"))){
die("db select error");
}
$sql = "SELECT USER,HOST FROM user";
$dyn = mysql_query($sql);
if(!$dyn){
die("query error");
}
while($row = mysql_fetch_array($dyn)){
echo $row['USER'] . " : ";
echo $row['HOST'] . "<br>";
}
mysql_close($cn);
?>
</body>
</html>
- mysql_connectでMySQLへ接続
- mysql_select_dbで対象となるデータベースの選択
- mysql_queryでSQL文を投げて結果IDを取得
- mysql_fetch_arrayで配列として行を取得
- 1行づつ取得して最終行までループします。
- mysql_closeでMySQLとの接続を終了します。
MySQLでは、データベース名,テーブル名は大文字小文字を区別しています。
ブラウザで接続してuser名とhost名が表示されれば成功です。
参考
- プログラムの開始と終了は、 で閉じる。
- 文字列の結合は . (ドット)で行う。
- if文はC(C++)やJAVAなどと同じ。
データベース:
- resource mysql_connect([string server [, string username [, string password [, bool new_link [, int client_flags]]]]])
- int mysql_select_db ( string database_name, int [link_identifier])
- int mysql_query ( string query, int [link_identifier])
- array mysql_fetch_array ( resource result, int [result_type])