📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

410行目: 410行目:
<br><br>
<br><br>


== データの追加(INSERT) ==
== レコードの追加(INSERT) ==
INSERT文の場合、<code>mysqli_query</code>関数の出力結果において、成功する場合はtrue、失敗する場合はfalseを返す。<br>
INSERT文の場合、<code>mysqli_query</code>関数の出力結果において、成功する場合はtrue、失敗する場合はfalseを返す。<br>
<br>
<br>
416行目: 416行目:
  <syntaxhighlight lang="php">
  <syntaxhighlight lang="php">
  <?php
  <?php
     $link = mysqli_connect('localhost', 'user', 'passwd', 'my_db');
     $link = mysqli_connect('localhost', 'user', 'passwd', 'uriage');
     if(!$link)
     if(!$link)
     {
     {
454行目: 454行目:
     {
     {
       die('SELECTクエリが失敗しました。'.mysql_error());
       die('SELECTクエリが失敗しました。'.mysql_error());
    }
    while($row = mysqli_fetch_assoc($result))
    {
      print('<p>');
      print('id='.$row['id']);
      print(',name='.$row['name']);
      print('</p>');
    }
    $close_flag = mysqli_close($link);
    if($close_flag)
    {
      print('<p>切断に成功しました。</p>');
    }
?>
</syntaxhighlight>
<br><br>
== データの更新(UPDATE) ==
UPDATE文の場合、<code>mysqli_query</code>関数の出力結果において、成功する場合はtrue、失敗する場合はfalseを返す。<br>
<br>
以下の例では、データベースuriageのテーブルshouhinのレコードを更新している。<br>
<syntaxhighlight lang="php">
<?php
    function quote_smart($value)
    {
      // 数値以外をクオートする
      if(!is_numeric($value))
      {
          $value = "'" . mysqli_real_escape_string($value) . "'";
      }
      return $value;
    }
    $link = mysqli_connect('localhost', 'user', 'passwd', 'uriage');
    if(!$link)
    {
      die('接続失敗です。'.mysqli_error());
    }
    print('<p>接続に成功しました。</p>');
    $db_selected = mysqli_select_db($link, 'uriage');
    if(!$db_selected)
    {
      die('データベース選択失敗です。'.mysqli_error());
    }
    print('<p>uriageデータベースを選択しました。</p>');
    // 文字コードをutf8mb4 に変更
    if(!mysqli_set_charset($link, "utf8mb4"))
    {
      printf('文字コードの変更に失敗しました。'.mysqli_error($link));
      exit();
    }
    print('<p>データを更新します。</p>');
    $id = 5;
    $name = 'デジタルカメラ';
    $sql = sprintf("UPDATE shouhin SET name = %s WHERE id = %s", quote_smart($name), quote_smart($id));
    $result_flag = mysqli_query($link, $sql);
    if(!$result_flag)
    {
      die('UPDATEクエリが失敗しました。'.mysqli_error());
    }
    print('<p>更新後のデータを取得します。</p>');
    $result = mysqli_query($link, 'SELECT id,name FROM shouhin');
    if(!$result)
    {
      die('SELECTクエリが失敗しました。'.mysqli_error());
    }
    while($row = mysqli_fetch_assoc($result))
    {
      print('<p>');
      print('id='.$row['id']);
      print(',name='.$row['name']);
      print('</p>');
    }
    $close_flag = mysqli_close($link);
    if($close_flag)
    {
      print('<p>切断に成功しました。</p>');
    }
?>
</syntaxhighlight>
<br><br>
== レコードの削除(DELETE) ==
DELETE文の場合、<code>mysqli_query</code>関数の出力結果において、成功する場合はtrue、失敗する場合はfalseを返す。<br>
<br>
以下の例では、データベースuriageのテーブルshouhinのレコードを削除している。<br>
<syntaxhighlight lang="php">
<?php
    function quote_smart($value)
    {
      // 数値以外をクオートする
      if(!is_numeric($value))
      {
          $value = "'" . mysql_real_escape_string($value) . "'";
      }
      return $value;
    }
    $link = mysqli_connect('localhost', 'user', 'passwd', 'uriage');
    if(!$link)
    {
      die('接続失敗です。'.mysqli_error());
    }
    print('<p>接続に成功しました。</p>');
    $db_selected = mysqli_select_db($link, 'uriage');
    if(!$db_selected)
    {
      die('データベースの選択に失敗しました。'.mysqli_error());
    }
    print('<p>uriageデータベースを選択しました。</p>');
    // 文字コードをutf8mb4 に変更
    if(!mysqli_set_charset($link, "utf8mb4"))
    {
      printf('文字コードの変更に失敗しました。'.mysqli_error($link));
      exit();
    }
    print('<p>レコードを削除します。</p>');
    $id = 4;
    $sql = sprintf("DELETE FROM shouhin WHERE id = %s", quote_smart($id));
    $result_flag = mysqli_query($link, $sql);
    if(!$result_flag)
    {
      die('DELETEクエリが失敗しました。'.mysqli_error());
    }
    print('<p>削除後のレコードを取得します。</p>');
    $result = mysqli_query($link, 'SELECT id,name FROM shouhin');
    if(!$result)
    {
      die('SELECTクエリが失敗しました。'.mysqli_error());
     }
     }