MAMPのMySQLにPHPからデータを追加する方法を記してます。
PHPでMySQLに接続する方法について理解しておくと、この記事の理解も捗ります!
-
【MAMP】PHPでMySQLに接続する方法。超ハマったポイントも
MAMPでPHPを使ってMySQLに接続する方法を記してます。 補足 PHPでMySQLに接続するデータベースを先にph ...
続きを見る
PHPからMySQLにデータ追加するにはexecを使う
PHPからMySQLにデータを追加するには「exec」を利用します。
「exec」とは、PHPから外部のコマンド・プログラムを実行する際に利用される関数を指します。
今回はphpMyAdminにてあらかじめ作成しておいた、以下データベース「test」の中のテーブル(部品在庫)にPHPからデータ追加を行っていきます!
PHPからMySQLにデータ追加するexecの記述方法
execの記述方法は以下のとおりです。
exec ( string $command [, array &$output [, int &$return_var ]] ) : string
参考:exec
execパラメーターの中のクオテーション記号は、SQLの中で使うクオテーション記号と分ける必要があります。
もう少し、execの内容をかみ砕いて書くと以下。
exec(実行コマンド、実行結果(省略可能)、ステータス(省略可能)
各内容の詳細としては、
- 実行コマンドは、実行するための外部コマンド。
- 実行結果は、コマンドを実行した結果が配列形式で格納される。
- ステータスは、実行したコマンドの戻り値が格納される。
といった定義付けがなされています。
ただし、実行結果とステータスは省略可能となっており、基本的には実行コマンドの記入で動作します。
ではPHPからexecを使って、ブラウザに表示することを行ってみます。
PHPでexecを使ったサンプル
PHPでexecを使った書き方の、サンプルコードです。index2.phpファイルを作成して以下実行してみました。
<?php
$command = 'ls';
echo exec($command);
?>
※ 'ls'コマンドは、使っているファイル名やディレクトリの情報を表示するコマンドです。
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つだけですが、
SQL実行後のテーブルでは、idに8つめのレコードが挿入されていることが分かります。
id箇所は「オートインクリメント」を設定しているため、INSERT句の中では指定はしてません。
PHPでMySQLを実行した後は、phpMyAdminの対象のレコード表示画面にて、[再描画]をクリックすることでテーブル再読込がなされます。(画面全体リロードするより処理が確実)
説明このプログラム自体は、何度も再描画させることで同じレコードがずっと追加されてしまうので注意です!
$COUNTでデータ追加した件数を表示できる
先のexecを$countで囲ってあげることで、
$count = $db ->exec('INSERT INTO 部品保管 SET 型番="RK73B1JTTD100J",在庫数="3000",部品名="チップ抵抗",備考="10Ω,1608"');
echo $count . '件のデータを追加したよ!';
処理内容について何件のデータを追加したのか、コメントを表示させることができて便利です↓
まとめ
MAMPにてPHPからMySQLへデータ追加する方法を紹介しました。
execの使い方について、もうちょっと深く説明できるようにがんばります泣
-
【MySQL】PHPでqueryを使ってデータベースの値を取得する方法
PHPでqueryを使ってMySQLにあるデータベースから特定の値を抜き取る方法を記します。 補足 PHPでMySQL ...
続きを見る
関連記事:【MAMP】PHPでMySQLに接続する方法。超ハマったポイントも
関連記事:【phpMyAdmin】データのエクスポートをCSVで行う方法
関連記事:【MySQL】LIMIT句の使い方。データ取得の上限を指定する方法