phpデータベース周りで勉強したこと

これをまず読むとわかりやすい
データベースとSQL - PHP入門 - ポンクソフト

・ウェブシステムでデータを保存する手段としては、主に以下の5つがあります。
変数,クッキー.セッション.ファイル,データベース
  
・データベースによるデータ保存
データベースも長期間のデータ保持が可能で、さらにデータの「作成」「検索」「更新」「削除」を簡単にできる機能があります。
      
・主要なカラム型
カラム型 中に入る値
INT 整数
VARCHAR(n) n文字までの文字列
TEXT 制限のほぼない文字列
DATETIME 日付と時刻
DATE 日付
TIME 時刻

そのあとにこれ
PHPでMySQLを使う - PHP入門 - ポンクソフト

・PDO(PHP Data Objects)クラスを使うと、簡単に汎用的なデータベースアクセスのコードを書くことができます。
レコードの表示はテーブルなどで行をループして行い、レコードの挿入・更新はフォームを介して行うのが一般的です。
 
・PDOについて
PHPからMySQLのデータベースを扱うにはたくさんの方法があり、どれを選択するかは時と場合によるのですが、今回は汎用性が高くて高速な「PDO」クラスを使います。
PDOを使ってデータベースを操作する際の基本的な流れは「PDOオブジェクトの作成」→「SQLの発行」→「結果レコードの参照」になります。
・レコードの表示、挿入、更新、削除
 
・レコードの挿入
prepateメソッドSQL文を「準備」します。発行はまだしません。「?」は、後から値を入れるために、とりあえず仮に置いておくものです(「プレースホルダ」と言います)。
executeメソッドで、実際にSQL文を発行します。引数で配列を受け取り、先ほど準備したSQL文の「?」に配列の先頭から値を入れて行きます。ここでは最初の「?」にフォームの名前欄に入力した文字列、次の「?」に価格欄に入力した文字列が入ります。
queryは使わない。
 
MySQL DSN構文
mysql:dbname=データベース名;host=ホスト名;port=ポート番号

PDOについてさらに詳しく
PDOの利用 - PHP入門

・PDOオブジェクトの作成
PDOクラスはオブジェクトの作成時に、データベースへの接続に失敗した場合"PDOException"という例外を投げるようです。その為、try catchを使って例外処理を記述しておきます。
$dsn = 'mysql:dbname=testdb;host=localhost';
$user = 'dbuser';
$password = 'dbpass';

try{
$dbh = new PDO($dsn, $user, $password);
}catch (PDOException $e){
print('Connection failed:'.$e->getMessage());
die();
}

$dbh = null;  //PHPスクリプトが終了すればデータベースへの接続は閉じられますが、明示的に閉じる場合にはオブジェクトに"NULL"を代入する。
 
SQLの発行
データベースに接続した後で、実際にSQL文をデータベースに発行して様々な処理を行います。
SQL実行の結果を所持:1回だけ使用するようなSQL文をデータベースへ送信するにはPDOクラスで用意されている"query"メソッドを使います。
データの取得:PDOStatementクラスのオブジェクトから実際の値を取り出すにはPDOStatementクラスで用意されている"fetch"メソッドを使います。

$sql = 'select id, name from shouhin';
$stmt = $dbh->query($sql);

$result = $stmt->fetch(PDO::FETCH_ASSOC);
print($result[0]);
print($result[1]);

prepareメソッドとexecuteメソッド
「execute」メソッドを実行した結果、PDOStatementクラスのオブジェクトには「query」メソッドの場合と同じくSQL文の実行結果が含まれています(SELECT文のような結果がある場合)。そこから実際の値を取り出す方法は「query」メソッドの場合と同じく「fetch」メソッドを使います。

・データの追加(INSERT)
「prepare」メソッドSQL文を作成し「execute」メソッドSQL文をデータベースへ発行します。

・データの更新(UPDATE)
「prepare」メソッドSQL文を作成し「execute」メソッドSQL文をデータベースへ発行します。

・データの削除(DELETE)
「prepare」メソッドSQL文を作成し「execute」メソッドSQL文をデータベースへ発行します。

これもPDOについて分かりやすい
PDOでMySQLに接続からINSERTやSELEC、UPDATEからDELETE、SUM、COUNTやテーブル作成など|LABO IWASAKI


PHPでデータベースに接続するときのまとめ - Qiita

PHPでPDOを使ってMySQLに接続、INSERT、UPDATE、DELETE、COUNT、SUM - Qiita

PDOの真の力を開放する - PHPでデータベースを扱う(3): Architect Note

マニュアルはこれ
PHP: PDO - Manual

最後に動画を見て理解できるか確かめる
PHPデータベース入門 (全13回) - プログラミングならドットインストール
 lastInsertId()とは→PHP: PDO::lastInsertId - Manual
 rowCount()とは→PHP: PDOStatement::rowCount - Manual
 数字型を扱うときはbindvalueを使う
 PDO::FETCH_CLASS
 一連の処理をまとめて行なうことができるトランザクション

おまけ
Mysqlコマンド - Qiita