※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

insert / update/ delete 処理

insert文の例

insert用フォーマット

<?php
$DBSERVER    = 'localhost';     //mysqlサーバ名
$DBUSER       = 'root';         //ログインユーザ名
$DBPASSWORD = '';            //パスワード
$DBNAME       = 'testDB';      //データベース名

//mysqlに接続
$con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);

//読み込み時の文字コード設定
mysql_query('set names UTF-8');

//データベース選択
$selectDB = mysql_select_db($DBNAME);

//Sql文を編集
$sql = "INSERT INTO menber
               (name, address, tel, mail)
        VALUES
               ('名前', '住所', '電話', 'メール')";

//sql文を発行
$ret = mysql_query($sql);

//インサートが成功したかチェック
if ($ret) {
    echo 'レコードの追加に成功';
    echo mysql_affected_rows($con) . '件のレコード追加';
    echo mysql_insert_id($con) . 'が自動採番されました';
} else {
    echo 'レコードの追加に失敗';
}
//mysqlとの接続解除
mysql_close($con);

?>

◆ここでは、単純なインサート文を使用しましたが、通常はhtml上で入力されたデータを取得して、value句に代入するでしょう。その時に、データ上に不正な文字列が挿入されていたら正しく処理されません。
そこで、入力データに対して変換処理する関数を紹介します。

stripcslashes関数
HTML上のテキストボックスなどに【 ' 】【 " 】【 ¥ 】などの文字が入力されていると、それを受け取ったPHPファイル上の変数には【 ¥' 】【 ¥" 】【 ¥¥ 】というように、前に【 ¥ 】記号が勝手につけられることをエスケープといい、このエスケープされた文字列を本来の文字列を返す関数
htmlspecialchars関数
HTML上のタグ記号【 < 】【 > 】という文字を、【 &lt; 】【 &gt; 】といった実体参照に変換する関数。HTMLフォーム上に意図的にタグが入力された場合に、単なる文字列として画面表示させる。
nl2br関数
複数行入力可能なtextareaで入力された改行コードを、ブラウザ上で表示させるための<br />に変換した文字列を返す関数

 

mysql_affected_rows関数
機能と返り値 insert / update / delete 文で処理されたレコード数を返す。where句のないdelete文では[0]、sqlの処理失敗時には[-1]を返す
引数 mysql_connect関数で返された接続IDを指定
echo mysql_affected_rows($con) . '件のレコード追加';

 

mysql_insert_id関数
機能と返り値 insert文によって、auto_increment属性のフィールドに自動生成された値を返す。フィールドがない場合には[0]を返す
引数 mysql_connect関数で返された接続IDを指定
echo mysql_insert_id($con) . 'が自動採番されました';

◆auto_incrementとは、自動的にID番号が付加される機能で、mysqlでテーブルを作成しカラム名を作成する場合に、auto_incrementを使用するかを決定する。この機能を使用していない場合には、mysql_insert_id関数は意味がない。

 

update文の例 

update用フォーマット

<?php
$DBSERVER    = 'localhost';     //mysqlサーバ名
$DBUSER       = 'root';         //ログインユーザ名
$DBPASSWORD = '';            //パスワード
$DBNAME       = 'testDB';      //データベース名

//mysqlに接続
$con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);

//読み込み時の文字コード設定
mysql_query('set names UTF-8');

//データベース選択
$selectDB = mysql_select_db($DBNAME);

//Sql文を編集
$sql = "UPDATE menber " .
       "SET name = '名前名前' " .
       "WHERE menberID = 1 ";

//sql文を発行
$ret = mysql_query($sql);

//インサートが成功したかチェック
if ($ret) {
    echo 'レコードの更新に成功';
    echo mysql_affected_rows($con) . '件のレコードを更新';
} else {
    echo 'レコードの追加に失敗';
}
//mysqlとの接続解除
mysql_close($con);

?>

 

delete文の例

delete用フォーマット

<?php
$DBSERVER    = 'localhost';     //mysqlサーバ名
$DBUSER       = 'root';         //ログインユーザ名
$DBPASSWORD = '';            //パスワード
$DBNAME       = 'testDB';      //データベース名

//mysqlに接続
$con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);

//読み込み時の文字コード設定
mysql_query('set names UTF-8');

//データベース選択
$selectDB = mysql_select_db($DBNAME);

//Sql文を編集
$sql = "DELETE FROM menber WHERE menberID = 1";

//sql文を発行
$ret = mysql_query($sql);

//インサートが成功したかチェック
if ($ret) {
    echo 'レコードの削除に成功';
    echo mysql_affected_rows($con) . '件のレコードを削除';
} else {
    echo 'レコードの削除に失敗';
}
//mysqlとの接続解除
mysql_close($con);

?>

 

 

 

 



 

 

 

|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|