編集結果をデータベースに格納する処理を実装

編集結果をデータベースに格納する処理を実装
#20 データの編集をしてみよう (3)
http://dotinstall.com/lessons/contacts_php_v2/9820
を元に
編集結果をデータベースに格納する処理を実装
admin/edit.php で
名前が表示されていないので
HTMLのソースの部分で
お名前の input 要素の value の値に

を追加して
入力した名前を表示できるようにする
これで、動作確認
http://192.168.10.155/contacts_php/admin/edit.php?id=
の後ろに数値以外を入力したり
ありえない数値で
ちゃんとエラーがでれば成功
次にDBの更新処理
これは
if(empty($error)){
の中に追記する
まずSQLを変数へ格納
$sql =”update entries set
name = :name,
email = :email,
memo = :memo,
moodified = :now(),
where id = :id”;
$stmt = dbh->prepare($sql);
$params = array(
“:name”=>$name,
“:email”=>$email,
“;memo”=>$memo,
);
$stmt->execute($params);
とする
動作確認は
#21 データの編集をしてみよう (4)
http://dotinstall.com/lessons/contacts_php_v2/9821
を元に行う
ここではデバッグ方法も紹介されている
このままだと動かない
理由は
:name
:email
:memo
:id
だったけど
:id の処理がなかったのが原因
これでも、エラーが特定できない場合
一度中身を
var_dump() で確認する
エラー情報は errorInfo() で取得できる
 
errorInfo() に関しては
http://php.net/manual/ja/pdo.errorinfo.php
を参照
ということで
$stmt->execute($params);
の下に
var_dump($stmt->errorInfo());
exit;
を追記し
エラー内容を取得して表示し
終了するようにする
これで、習性場所を把握し
修正することで編集ができるようになる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です