前提
DBについて勉強中です。
PHPでデータ更新をしていますが、うまく反映されません。
エラーは出ていませんが、反映されない状態です。
実現したいこと
UPDATEを使ってデータ更新をしたい。
該当のソースコード
PHP
//PDOインスタンス生成$res="";$USER='root';$PW='root';$dnsinfo="mysql:dbname=cafe;host:localhost;charset=utf8";$pdo = new PDO($dnsinfo, $USER, $PW); //更新処理if (isset($_POST['update'])) { try { $sql="UPDATE contacts SET name=?,kana=?,tel=?,email=?,body=?,created_at=? WHERE id=?"; $stmt=$pdo->prepare($sql); $array= array($_POST['name'],$_POST['kana'],$_POST['tel'],$_POST['email'],$_POST['body'],$_POST['created_at'],$_POST['id']); $stmt->execute($array); } catch (Exception $e) { $res=$e->getMessage(); }} //全レコード参照try { $sql="SELECT*FROM contacts"; $stmt=$pdo->prepare($sql); $array=null; $stmt->execute($array); $res="<table>\n"; while ($row=$stmt->fetch(PDO::FETCH_ASSOC)) { $res .="<tr><td>".$row['id'] ."</td><td>" .$row['name'] ."</td><td>" .$row['kana'] ."</td><td>" .$row['tel'] ."</td><td>" .$row['email'] ."</td><td>" .$row['body'] ."</td><td>" .$row['created_at'] ."</td>";$res .="</tr>\n"; } $res .="</table>\n";} catch (Exception $e) { $res=$e->getMessage();}
試したこと
配列に自信がなく、created_atやidを消したり追加したりしましたがよくわかりません。
参考書を見ながら進めていますが、つまづいてしまったので、回答をお願いします。
0 コメント