PHP osCommerceの機能を使いMySQLを操作する INSERT文
準備についてはこちら。
テーブルにデータを登録する
データを登録するテーブルの構成。
//購入履歴テーブル
create table settlement (
customer_id int(8) not null, //会員ID
shohin_id int(8) not null, //商品ID
shohin_sum int(8) not null, //商品数
settlement_date datetime not null //購入日
);
テーブルの作成についてはこちら。
「スクリプト」
<?php
//必要なファイルの読み込み
require('configure.php');
require('database.php');
//DB接続
tep_db_connect() or die('Unable to connect to database server!');
//テーブルのフィールド名をキーにした連想配列で登録データを用意
$settlement_array = array(
'customer_id' => 23,
'shohin_id' => 125,
'shohin_sum' => 4,
'settlement_date' => '2008-09-26'
);
//INSERT実行
tep_db_perform(settlement, $settlement_array);
//DB切断
tep_db_close();
?>
データを登録した際にAUTO_INCREMENTで生成された主キーの値を取得する
データを登録するテーブルの構成。
//ユーザー情報テーブル
create table users (
id int(8) not null auto_increment, //ユーザーID(主キー)
name varchar(32) not null, //ユーザー名
primary key (id)
);
現在のテーブルのデータを全表示すると以下のとおり。
mysql > select * from users;3 rows in set (0.00 sec)
id name 1 山田太郎 4 斉藤しんご 6 山本ひろし
最後に追加されたデータを「ユーザーID=6、ユーザー名=山本ひろし」とする。
「スクリプト」
<?php
//必要なファイルの読み込み
require('configure.php');
require('database.php');
//DB接続
tep_db_connect() or die('Unable to connect to database server!');
//INSERT実行(主キーのidは省略)
$users_array = array('name' => '鈴木ごんざぶろう');
tep_db_perform(users, $users_array);
//今のINSERT実行によりAUTO_INCREMENTで生成された主キーの値を取得
$now_id = tep_db_insert_id();
echo '追加されたユーザーのIDは「' . $now_id . '」です。';
//DB切断
tep_db_close();
?>
「出力結果」
追加されたユーザーのIDは「7」です。
UPDATE、DELETE文の使い方はこちら。