2015/6/23 久米
PHP手順 | SELECT文 発行例 |
INSERT, UPDATE, DELETE文 発行例 |
1. MySQLに接続する。 | $con=mysqli_connect("localhost", "web2", "771", "web2"); | |
2. SQL文を組み立てる。 | $sql="SELECT * FROM ranking ORDER BY point DESC"; | |
3. SQL文を発行する。 (接続が1つなら$con省略可) |
$rst=mysqli_query($con, $sql); | |
4. 結果を処理する。 メモリ開放(早く開放できる) |
while ($row=mysqli_fetch_array($rst)) { // } mysqli_free_result($rst); |
//戻り値を if($rst) でチェック |
5. MySQLとの接続を閉じる (自動切断するので省略可能) |
mysqli_close($con); |
CREATE TABLE ranking(
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(64),
artist VARCHAR(64),
point INT
);
id | title | artist | point |
Moments | 浜崎あゆみ | 980 | |
ヴォーグ | 浜崎あゆみ | 1230 | |
Boys & Girls | 浜崎あゆみ | 1100 | |
誰かの願いが叶うころ | 宇多田ひかる | 890 | |
オートマチック | 宇多田ひかる | 1310 | |
そばかす | JUDY AND MARY | 1050 | |
クラシック | JUDY AND MARY | 1380 | |
ヘビーローテーション | AKB48 | 1450 | |
・・・ |
insert into ranking
(title, artist, point)
values
('Moments','浜崎あゆみ',980),
('ヴォーグ','浜崎あゆみ',1230),
('Boys & Girls','浜崎あゆみ',1100),
('誰かの願いが叶うころ','宇多田ひかる',890),
('オートマチック','宇多田ひかる',1310),
('そばかす','JUDY AND MARY',1050),
('クラシック','JUDY AND MARY',1380),
('ヘビーローテーション','AKB48',1450)
SELECT文 その1 while型 |
<?php $DBSERVER="localhost"; $DBUSER="root"; $DBPASSWORD=""; $DBNAME="kume"; $con=mysqli_connect($DBSERVER, $DBUSER, $DBPASSWORD, $DBNAME); $sql="SELECT * FROM ranking ORDER BY point DESC"; $rst=mysqli_query($con, $sql); $m="id title artist point<br>"; while($row=mysqli_fetch_array($rst)){ $m.=$row["id"]." "; $m.=$row["title"]." "; $m.=$row["artist"]." "; $m.=$row["point"]."<br>"; } mysqli_free_result($rst); mysqli_close($con); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>select文その1</title> </head> <body> <?php print $m; ?> </body> </html> |
SELECT文 その2 for型 |
<?php $DBSERVER="localhost"; $DBUSER="root"; $DBPASSWORD=""; $DBNAME="kume"; $con=mysqli_connect($DBSERVER, $DBUSER, $DBPASSWORD, $DBNAME); $sql="SELECT * FROM ranking ORDER BY point DESC"; $rst=mysqli_query($con, $sql); $m="id title artist point<br>"; $len=mysqli_num_rows($rst); for($i=0;$i<$len;$i++){ $row=mysqli_fetch_array($rst); $m.=$row["id"]." "; $m.=$row["title"]." "; $m.=$row["artist"]." "; $m.=$row["point"]."<br>"; } mysqli_free_result($rst); mysqli_close($con); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>select文その2</title> </head> <body> <?php print $m; ?> </body> </html> |
INSERT文 | <?php $DBSERVER="localhost"; $DBUSER="root"; $DBPASSWORD=""; $DBNAME="kume"; $con=mysqli_connect($DBSERVER, $DBUSER, $DBPASSWORD, $DBNAME); $sql="INSERT INTO ranking (title, artist, point) VALUES ('亜麻色の髪の乙女', '島谷ひとみ', 950)"; $rst=mysqli_query($con, $sql); if($rst) $m="成功しました。"; else $m="失敗しました。"; mysqli_close($con); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>insert文</title> </head> <body> <?php print $m; ?> </body> </html> |
UPDATE文 | <?php $DBSERVER="localhost"; $DBUSER="root"; $DBPASSWORD=""; $DBNAME="kume"; $con=mysqli_connect($DBSERVER, $DBUSER, $DBPASSWORD, $DBNAME); $sql="UPDATE ranking SET point=1980 WHERE title='亜麻色の髪の乙女'"; $rst=mysqli_query($con, $sql); if($rst) $m="成功しました。"; else $m="失敗しました。"; mysqli_close($con); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>update文</title> </head> <body> <?php print $m; ?> </body> </html> |
DELETE文 | <?php $DBSERVER="localhost"; $DBUSER="root"; $DBPASSWORD=""; $DBNAME="kume"; $con=mysqli_connect($DBSERVER, $DBUSER, $DBPASSWORD, $DBNAME); $sql="DELETE FROM ranking WHERE title='亜麻色の髪の乙女'"; $rst=mysqli_query($con, $sql); if($rst) $m="成功しました。"; else $m="失敗しました。"; mysqli_close($con); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>delete文</title> </head> <body> <?php print $m; ?> </body> </html> |
順位 | タイトル | アーティスト | ポイント |
1 | COLORS | 宇多田ひかる | 1310 |
2 | No way to say | 浜崎あゆみ | 1230 |
3 | Voyage | 浜崎あゆみ | 1100 |
4 | ・・・ | Bz | 1005 |
5 | ・・・ | モー娘。 | 995 |
6 | Moments | 浜崎あゆみ | 980 |
7 | 誰かの願いが叶うころ | 宇多田ひかる | 890 |
・・・ |
コラム$m.="おはよう"; は $m=$m."おはよう"; の簡略形です。 |
テーブル名は変更すること。
[mysqld]
character-set-server=utf8
skip-character-set-client-handshake
[mysql]
default-character-set = utf8
mysqli_set_charset($con, "UTF8");