調べたこと 第二十五回

フォームからレコードを操作する

<?PHP

//SQLとのコネクションを開く

$link =mysql_connect("localhost","sample","パスワード","sample");

//SQL文字コードを設定する

mysql_set_charset($link, "utf8");

 

//入力された値を、SQLに入れるための、「INSERT文」を作る

$sql = "INSERT INTO address (username, zip, address1, address2,tel)"." VALUES(".

             " ' " . mysql_real_escape_string($link,$_POST["username "]). " ' , " .

              " ' " . mysql_real_escape_string($link,$_POST["zip"]). " ' , " .

               " ' " .mysql_real_escape_string($link, $_POST["address1"]) . " ' , " .

               " ' " .mysql_real_escape_string($link, $_POST["address2"]). " ' , " .

               " ' " . mysql_real_escape_string($link,$_POST["tel"]). " ');";

 

//「INSERT文」を発行する

 mysql_query($link,$sql);

// コネクションを閉じる

mysql_close($link);

echo "レコードを追加しました。";

?>

 

流れが、

1,PHPSQLとのコネクションを開く。

2,SQL文字コードを指定する。

3,入力された値をSQLに入れるための、INSERT文を作る。

4, INSERT文を発行する。

5,コネクションを閉じる。

 

になる。

単純な文字列の統合で、入力されたデータを$_POST[”フィールド名”]で探して、

結合させて、INSERT文を作っている。

 

顧客情報を入力する画面で、登録ボタンを押すとデータが登録されていく。

 

mysql_real_escape_string  ー> は必須!!

文字列に「 ’ 」が入っていたらエラーになってしまうので、必ずSQLエスケープと言われる上の関数を付け加えること。

SQLインジェクションという、攻撃が仕掛けられたら、SQLの内容が勝手に書き換え

 られてしまう)