1
0

PHPとMySQLの接続〜登録〜取得

Last updated at Posted at 2024-03-13

1)mysqli_connect
  PHPからMySQLに接続する
  ※SQLに接続できないケースも追加する(if文)

function dbConnect()
{
$link = mysqli_connect('<ホスト名>''<ユーザー名>''<パスワード>''<データベース名>');
if(!$link) {
    echo 'Error:データベースに接続できませんでした' . PHP_EOL;
    echo 'Debugging error:' . mysqli_connect_error() . PHP_EOL;
    exit;
        }
        return $link;
}

$link = dbConnect();
mysqli_close($link);

2)mysqli_query
  ①テーブルを作成する
  ※エラーがあった場合、エラーメッセージを表示するようにする(変数$result)

function createTable($link)
{
    $createTableSql = <<<EOT
CREATE TABLE <テーブル名>(
        <カラム名><データ型><制約>,
        <カラム名><データ型><制約>,
        <カラム名><データ型><制約>
)DEFAULT CHARACTER SET=utf8mb4;
EOT;

    $result = mysqli_query($link,$createTableSql);
    if($result) {
        echo 'テーブルを作成しました' .PHP_EOL;
    } else {
        echo 'Error:テーブルの作成に失敗しました' .PHP_EOL;
        echo 'Debugging Error:' .mysqli_error($link) .PHP_EOL;
    }
}

$link = dbConnect();
createTable($link);
mysqli_close($link);

  ②MySQLのデータを削除する

function dropTable($link)
{
    $dropTableSql = 'DROP TABLE IF EXISTS <テーブル名>;';
    $result = mysqli_query($link, $dropTableSql);
    if ($result) {
        echo 'テーブルを削除しました' . PHP_EOL;
    } else {
        echo 'Error:テーブルの削除に失敗しました' . PHP_EOL;
      echo 'Debugging error:' . mysqli_error($link) . PHP_EOL;
    }
}

$link = dbConnect();
dropTable($link);
mysqli_close($link);

③データを追加する

function createData($link, $<連想配列>)
{
  $sql = <<<EOT
INSERT INTO <テーブル名> (
  <カラム名>,
  <カラム名>,
  <カラム名>
) VALUES(
  "{$<連想配列>['<配列名>']}",
  "{$<連想配列>['<配列名>']}",
  "{$<連想配列>['<配列名>']}"
)
EOT;
  $result = mysqli_query($link, $sql);
  if ($result) {
      echo '登録が完了しました' . PHP_EOL;
  } else {
      echo 'Error:データの追加に失敗しました' . PHP_EOL;
      echo 'Debugging Error:' . mysqli_error($link) . PHP_EOL;
  }
}

$link = dbConnect();
createData($link);
mysqli_close($link);

3)mysqli_fetch_assoc
テーブルからデータを取得する

   function listTable($link)
{  $sql = 'SELECT <カラム名> FROM <テーブル名>';
   $results = mysqli_query($link, $sql);

   while ($<配列名> = mysqli_fetch_assoc($results)) {
       echo '書籍名:' . $<配列>['title'] . PHP_EOL;
       echo '著者名:' . $<配列>['author'] . PHP_EOL;
   }
   mysqli_free_result($results);
}

PHPとMySQLの接続〜登録&削除〜取得をまとめてみました。
※間違ったところがありましたらコメントで教えていただけますと嬉しいです!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0