pg-box.jp
130214訓練 | ハコソフト
明らかにSQLやってるのでカテゴリ追加しました。データベース。 今日はちゃんとPHPもするよ! PHPからデータベースに接続する PDOを使います。 PDO::__construct データベースへの接続を表す PDO インスタンスを生成する。 第一引数:データベース接続情報 mysqlを利用しているのでmysql:から始まり、以下ホスト名、データベース名、文字コードを入力している。 utf8はutf-8と書くとエラーになるので注意。 第二引数:ユーザー名 第三引数:パスワード マニュアルの例よるとデータベースに接続できなかった時にPDOExceptionを投げるらしいので、例外処理をしておく。 例外処理についてはJavaと文法に差が無いので割愛するが、気になる方はマニュアルを見てみるとよいかも。 PHPからレコードを登録する コード フォーム 登録処理 PDO::prepare 文を実行する準備を行い、文オブジェクトを返す。 記法は PDOオブジェクト->prepare(SQL文,ドライバオプション); だが第二引数のドライバオプションは「通常、スクロール可能なカーソルを要求するために PDO::ATTR_CURSOR に PDO::CURSOR_SCROLL を設定する場合に使用することになるでしょう。 」ということらしいので今回は関係ない。 使うタイミングが分からない・・・・なんだろこれ・・・ PDOStatement::bindValue 値をパラメータにバインド(結合)する。 第一引数:パラメータID。パラメータ名は「:名前」という形式になっている。 第二引数:バインドする値。今回はフォームから得た値を入れている。 第三引数:データ型。省略可。明示する必要があれば使う。 PDOStatement::execute プリペアドステートメントを実行する。 prepareで指定したSQLを実行する。 PHPからテーブルを作成する コード CREATE TABLE テーブルを作る EXISTS(NOT EXISTS) EXISTS以下のもの(サブクエリ)が存在するものならばTRUE。なければFALSE。 NOTをつけると否定になるので存在しなければTRUE。あればFALSE。 今回はIF NOT EXISTS