MySQL

【MAMP】PHPでMySQLにデータを追加する方法(phpMyAdmin)

MAMPのMySQLにPHPからデータを追加する方法を記してます。

PHPからMySQLを操作して実行したGIF

 補足

PHPでMySQLに接続する方法について理解しておくと、この記事の理解も捗ります!

PHPからMySQLにデータ追加するにはexecを使う

PHPからMySQLにデータを追加するには「exec」を利用します。

 

exec」とは、PHPから外部のコマンド・プログラムを実行する際に利用される関数を指します

 

今回はphpMyAdminにてあらかじめ作成しておいた、以下データベース「test」の中のテーブル(部品在庫)にPHPからデータ追加を行っていきます!

PHPからデータ追加する対象のテーブル部品保管

 

PHPからMySQLにデータ追加するexecの記述方法

execの記述方法は以下のとおりです。

exec ( string $command [, array &$output [, int &$return_var ]] ) : string

参考:exec

 

注意!

execパラメーターの中のクオテーション記号は、SQLの中で使うクオテーション記号と分ける必要があります。

 

すぐにexecを使ったデータ追加の例文を見る↓

 

もう少し、execの内容をかみ砕いて書くと以下。

exec(実行コマンド、実行結果(省略可能)、ステータス(省略可能)

 

各内容の詳細としては、

  • 実行コマンドは、実行するための外部コマンド

  • 実行結果は、コマンドを実行した結果が配列形式で格納される

  • ステータスは、実行したコマンドの戻り値が格納される

といった定義付けがなされています。

 

ただし、実行結果とステータスは省略可能となっており、基本的には実行コマンドの記入で動作します。

 

ではPHPからexecを使って、ブラウザに表示することを行ってみます。

 

PHPでexecを使ったサンプル

PHPでexecを使った書き方の、サンプルコードです。index2.phpファイルを作成して以下実行してみました。

<?php
  $command = 'ls';
  echo exec($command);
?>

※ 'ls'コマンドは、使っているファイル名やディレクトリの情報を表示するコマンドです。

PHPでexecを使ったサンプルコードの実行結果↓

PHPでexecを使った書き方サンプルの実行結果

 

exec($command)で、外部の実行コマンドを処理しているのが分かりますね。

 補足

index2.phpというファイルを作成し、以下htmlの中に上記phpを記入しています。

<title>PHP</title>
</head>
<body>
<header>
<h1 class="font-weight-normal">PHP</h1>
</header>

<main>
<h2>Practice</h2>
<pre>
<?php
$command = 'ls';
echo exec($command);
?>
</pre>
</main>
</body>

 

次に、PHPからMySQLにデータ追加してみます。

 

MySQLにPHPでデータ追加するexecの書き方サンプル

基本的にはPDOを組み合わせて利用すると、狙ったテーブルに対してデータを追加することが可能です。

<?php
try {
  $db = new PDO('mysql:dbname=test;host=localhost;charset=utf8','root','root');
  echo "接続OK!";
} catch (PDOException $e) {
  echo 'DB接続エラー!: ' . $e->getMessage();
}

$db ->exec('INSERT INTO 部品保管 SET 型番="RK73B1JTTD100J",在庫数="3000",部品名="チップ抵抗",備考="10Ω,1608"');
?>

 

SQL実行前のテーブルだとidは7つだけですが、

PHPからMySQLへ接続しデータ追加する対象のテーブル

SQL実行後のテーブルでは、idに8つめのレコードが挿入されていることが分かります。

PHPからMySQLへ接続しテーブルのデータを追加した結果

 

id箇所は「オートインクリメント」を設定しているため、INSERT句の中では指定はしてません。

 

 

 補足

PHPでMySQLを実行した後は、phpMyAdminの対象のレコード表示画面にて、[再描画]をクリックすることでテーブル再読込がなされます。(画面全体リロードするより処理が確実)

phpMyAdminで再描画を押してテーブル更新

注意!
説明このプログラム自体は、何度も再描画させることで同じレコードがずっと追加されてしまうので注意です!

$COUNTでデータ追加した件数を表示できる

先のexecを$countで囲ってあげることで、

$count = $db ->exec('INSERT INTO 部品保管 SET 型番="RK73B1JTTD100J",在庫数="3000",部品名="チップ抵抗",備考="10Ω,1608"');
echo $count . '件のデータを追加したよ!';

処理内容について何件のデータを追加したのか、コメントを表示させることができて便利です↓

スクリPHPからMySQLへ接続しテーブルのデータを追加した件数をコメント表示

 

oyakun
PHPからMySQLへPDOで接続して、execを使って見事にデータベース(テーブル)へレコードを追加することができました!

 

まとめ

MAMPにてPHPからMySQLへデータ追加する方法を紹介しました。

 

execの使い方について、もうちょっと深く説明できるようにがんばります泣

 

>【MAMP】PHPでMySQLに接続する方法。超ハマったポイントも

>【phpMyAdmin】データのエクスポートをCSVで行う方法

>【MySQL】LIMIT句の使い方。データ取得の上限を指定する方法



  • この記事を書いた人
  • 最新記事
oyakun

oyakun

30代半ば♂妻・子3人の5人で日々激戦中。Google app script&VBA初心者が自分の備忘録を兼ねて「スプレッドシート、Excel、WordPress、plugin」の設定等、主にブログやアフィリエイト周辺のtipsを背伸びしながらご紹介しています。

Copyright© OYAKUDACHI.XYZ , 2019 All Rights Reserved.