PHPを使ってMySQLデータベースのテーブルにレコード(データ)を登録する
手こずった。どうにか再現できた。
ここまでくれば、あとは作成済みのスクレイピングプログラムに組み込めば、データベースに登録したデータを操作できるようになる。おもに中長期的なランキングを作りたい。
参考にしたサイト
・PHP: PDOStatement::execute - Manual
・PHPでデータベースへ入力内容を登録 | PHP Labo
・PHPでデータベースに接続するときのまとめ - Qiita
・PHPでMySQLを使う - PHP入門 - ポンクソフト
このサイトにもお世話になった……のだけど、実際には動作しない部分があった。
たぶん、おれの基礎知識が足りないせいでうまく動かなかったのだと思うけれど、いちおう書き残しておく。
$pdo = new PDO("mysql:dbname=men", "root"); $st = $pdo->prepare("INSERT INTO udon VALUES(?,?)"); $st->execute(array($_POST['name'], $_POST['price']));
この記述。おれの場合は、フォームは使わずに、単純に配列の値をテーブルに登録しようとした。でも登録できなかった。(エラーは出ない)
いろいろ試行錯誤した結果、以下のコードによってテーブル登録ができた。
hogedbのテーブル内の、カラム1とカラム2に、hoge1とhoge2を登録する。というPHPコード。
なんど実行してもテーブルにINSERTされなかった原因は、2行目のSQL文発行において、カラム名指定が足りなかったこと。
とはいうものの、上記のサイトはとてもわかりやすく、他の部分をコピペ実行してもエラーになることはなかった。たぶん、おれの知識が足りないせいだと思う。