データベースでレコードを追加する時に使うSQL文を勉強してみます。
INSERT INTO テーブル名(カラム名1, カラム名2, …) VALUES(値1, 値2, …);
カラムを指定しない場合はカラムの左から順番にVALUESに記入された値が適用されていきます。
実際のphpプログラムの中では、、、
$pdo = new PDO("mysql:dbname=hoge", "id", "password");//データベースにアクセス $st = $pdo->query("INSERT INTO table_name(title,content,status) VALUES('$title','$content','2')");//ポストの中にタイトルとコンテンツとステータスカラム2を挿入する header('Location: index.php');//header関数でLocation: URLを指定してリダイレクト exit();//処理終了
また、SQLでは文字列をシングルクォートまたはダブルクォートで囲みます。
ウェブ上のフォームから打ち込まれた情報を、変数$title、$contentに格納するようにプログラムしてから、このプログラムによってデータベースに情報を格納します。
次にレコードの検索についてみていきます。
SELECT * FROM table_name;
これはtable_nameというテーブルから全てのレコードを選んでくるという意味になります。
さらに
SELECT * FROM テーブル名 WHERE 条件式;
と条件文を指定すると、欲しいレコードを絞り込む事が出来ます。
実践的なコードとしては、
$st = $dbh->query("SELECT * FROM post where status = '2' ORDER BY no DESC");//記事番号が大きい順番、ステータスカラムが2のものを表示
というような書き方になります。
また、
SELECT name FROM table_name;
とすることで、table_nameというテーブルからnameカラムを引き出すという意味になります。
以上