サンプル集  >  PHP  >  MySQLの追加
MySQLの追加
2009/07/13

php で MySQL へレコード追加します。

◆環境
OS Windows XP Professional Version 2002 Service Pack 3
PHP 5.2.4

引数で追加する件数を指定するようにしました。

insert_test.php
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
<?php
$con=mysql_connect("localhost:3306""root""root");
if(!$con){
    echo "接続失敗\n";
    exit(1);
}
echo "接続成功\n";

$ret=mysql_select_db("phptest");
if(!$ret){
    echo "DB選択失敗:phptest\n";
    exit(2);
}
echo "DB選択成功\n";

$ret=mysql_query("begin");
if(!$ret){
    echo "失敗:".$sql."\n";
    exit(3);
}

for($i=0; $i<intval($argv[1]); $i=$i+1){
    $sql="insert into test_tbl values ('text".$i."',".$i.")";
    $ret=mysql_query($sql);
    if(!$ret){
        echo "失敗:".$sql."\n";
        exit(4);
    }
    echo "追加件数:".mysql_affected_rows()."\n";
}

$ret=mysql_query("commit");
if(!$ret){
    echo "失敗:".$sql."\n";
    exit(5);
}
echo "コミット成功\n";

mysql_close($con);
echo "DB切断\n";

exit;
?>

test_tbl は以下の SQL で生成しました。

test_tbl.sql
1: 
2: 
3: 
4: 
5: 
6: 
CREATE TABLE test_tbl (
    charVal char(10) default NULL,
    intVal  int(11) NOT NULL default '0',
    PRIMARY KEY  (intVal)
)
;

◆実行結果
>php insert_test.php 10
接続成功
DB選択成功
追加件数:1
追加件数:1
追加件数:1
追加件数:1
追加件数:1
追加件数:1
追加件数:1
追加件数:1
追加件数:1
追加件数:1
コミット成功
DB切断

DB を検索したらちゃんと 10件追加されていました。

mysql> select * from test_tbl;
+---------+--------+
| charVal | intVal |
+---------+--------+
| text0   |      0 |
| text1   |      1 |
| text2   |      2 |
| text3   |      3 |
| text4   |      4 |
| text5   |      5 |
| text6   |      6 |
| text7   |      7 |
| text8   |      8 |
| text9   |      9 |
+---------+--------+
10 rows in set (0.00 sec)

▲ PageTop  ■ Home


Copyright (C) 2012 ymlib.com