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");