PHP で MySQL のデータを扱う際に良く使う SQL とかその辺

これから紹介するコードなどは既にデータベースとの接続が済ましてあることが前提です。

1
2
3
4
5
6
7
8
9
10
$db_user = 'username';
$db_name = 'dbname';
$db_host = 'localhost';
$db_pass = 'password';
 
$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name);
mysql_query("SET NAMES utf8");
mb_internal_encoding('UTF-8');
mb_regex_encoding('UTF-8');

条件に合致するデータがデータベースの中にあるか調べる

会員の住所から東京都に住んでいる人が存在しているか確認する場合。ちなみにテーブル名は member で、住所のフィールド名は address の場合で。

1
2
3
4
5
6
7
$sql = "select * from member where address = '東京都'";
$result = mysql_query($sql);
if(mysql_num_rows($result)>0) {
	echo '既存のデータです。';
} else {
	echo 'データがありません。';
}

この際、ついでに東京都の人の名前を全部一覧化したい場合はそのまま続けて以下のように書けば良いです。ちなみに名前が入っているフィールド名は name で。

1
2
3
while ($value = mysql_fetch_assoc($result)) {
	echo $value['name']."<br />\n";
}

ある会員 id の情報をごそっと抜き出す方法

先ほどは条件にマッチするデータを一覧化していましたが、今回は id にマッチする行をごっそり抜き出し連想配列にします。
今回は会員 id が 14578 の人の名前と住所とメールアドレスを出力する場合。

1
2
3
4
5
6
7
8
9
10
11
$sql = "select * from member where id = '14578'";
$result = mysql_query($sql);
$member = mysql_fetch_array($result);
 
if(isset($member)) {
	echo $member['name']."<br />\n";
	echo $member['address']."<br />\n";
	echo $member['email']."<br />\n";
} else {
	echo 'データがありません。';
}

データベースにデータを追加する場合

次はデータを追加する場合。今回は id が 10 で name がナギのデータを member というテーブルに挿入します。これは簡単です。

1
2
$sql = "insert into member (id, name) values (10, 'ナギ')";
$result = mysql_query($sql);

データベースの指定した行を上書きする

会員 id が 78964 の行の name をナギに変更する場合は次のようにします。

1
2
$sql = "UPDATE member set name = 'ナギ' where id = 78964";
$result = mysql_query($sql);

コメント

  1. ITキヲスク | 2009年11/22~11/28の週間ブックマークさんのコメント

    [...] PHPでMySQLのデータを扱う際に良く使うSQLとか [...]