MySQLデータベースサーバでクエリを実行する (レコードの書き込み) - PHP

PHPでMySQLデータベースに接続しデータベースにレコードを追加する例を紹介します。

コード例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
  </head>
  <body>
    <?php
    if ($_POST['button_submit'] != ''){
      $link = mysql_connect('192.168.0.81', 'root', '####ROOT##PASSWORD');
      if (!$link == FALSE) {
        $database = mysql_select_db('test');
        if ($database==TRUE){
          $name = $_POST['textBox_name'];
          $price = $_POST['textBox_price'];

          $sql="insert into products_sample (name, price) values('{$name}','{$price}')";
          $result = mysql_query($sql);
          if ($result == TRUE){
          }else{
            echo('DB inseert Failure!');
          }
        }
        mysql_close($$link);
      }
    }
    ?>
    <form method="post" action="">
      name:<input type="text" name="textBox_name" /><br/>
      price:<input type="text" name="textBox_price" /><br/>
      <input type="submit" name="button_submit" value="書き込み"/>
    </form>
  </body>
</html>

解説

if ($_POST['button_submit'] != ''){
にて、POSTの画面遷移かを確認します。
$link = mysql_connect('192.168.0.81', 'root', '####ROOT##PASSWORD');
データベースサーバーへの接続をします。

if (!$link == FALSE) {
 $database = mysql_select_db('test');
データベースサーバーへの接続ができたならば、データベースを選択します。

if ($database==TRUE){
  $name = $_POST['textBox_name'];
  $price = $_POST['textBox_price'];
  $sql="insert into products_sample (name, price) values('{$name}','{$price}')";
  $result = mysql_query($sql);
  if ($result == TRUE){
  }else{
    echo('DB inseert Failure!');
  }
}
データベースの選択が成功したならば、POSTで送信されたテキストボックスの内容を取得します。その後SQL文を作成し、実行します。mysql_query()関数ではinsert,updateなどのSQL文の場合は実行が成功するとTRUEを返すため、戻り値をチェックし正常にレコードが挿入できたかを判定しています。

実行結果

実行直後


テーブルに追加するレコード情報を入力し、書き込みボタンを押します。


データベースのレコードを参照すると正しくレコードが追加されています。(データベースのレコードを参照するプログラムはこちらの記事のものを利用しています。)

著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
掲載日: 2011-01-28
iPentec all rights reserverd.