広告

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

2019年9月18日

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

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

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

まとめ

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

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

次の記事
MySql-php-query
【MySQL】PHPでqueryを使ってデータベースの値を取得する方法

PHPでqueryを使ってMySQLにあるデータベースから特定の値を抜き取る方法を記します。 補足 PHPでMySQL ...

続きを見る

関連記事:【MAMP】PHPでMySQLに接続する方法。超ハマったポイントも
関連記事:【phpMyAdmin】データのエクスポートをCSVで行う方法
関連記事:【MySQL】LIMIT句の使い方。データ取得の上限を指定する方法