前提・実現したいこと
当方、独学でPHPとHTMLを学習中です。
仮想ショップを作っているのですが、問題解決ができないため質問させていただきます。
カートに入れた商品をDBに登録したいのですが例外が発生しています。
まだ知識にムラがあり、お見苦しいコードですがご教示いただけますと幸いです。
該当のソースコード
<html> <head> <meta charset="UTF-8"> </head> <body> <?php try { if(isset($_SESSION['cart'])==true) { $favorite=$_SESSION['cart']; $max=count($cart); } else { $max=0; } if($max==0) { print 'カートが空です<br />'; exit(); } $dsn='mysql:dbname=virtualstore;host=localhost;charset=utf8'; $user='root'; $password=''; $dbh=new PDO($dsn,$user,$password); $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); foreach($cart as $key=>$val) { $sql='SELECT code,name,price FROM product WHERE code=?'; $stmt=$dbh->prepare($sql); $data[0]=$val; $stmt->execute($data); $rec=$stmt->fetch(PDO::FETCH_ASSOC); $pro_name[]=$rec['name']; $pro_price[]=$rec['price']; $pro_code[]=$rec['code']; } ・・・以下、データーベースへの登録処理・・・ $sql='INSERT INTO sales_favorite (code,name,price) VALUES(?,?,?)'; $stmt=$dbh->prepare($sql); $data[0]=$val; $stmt->execute($data); $rec=$stmt->fetch(PDO::FETCH_ASSOC); $pro_name[]=$rec['name']; $pro_price[]=$rec['price']; $pro_code[]=$rec['code']; $dbh=null; } catch(Exception $e) { print'例外発生'; exit(); } ?> かご<br /> <br /> <table border="1"> <tr> <td>品物番号</td> <td>品物名</td> <td>価格</td> </tr> <tr> <td><?php print $code[$i]; ?></td> <td><?php print $name[$i]; ?></td> <td><?php print $price[$i]; ?>円</td> </tr> <?php } ?> </table> </body> </html> コード
PHP,HTML
試したこと
試みたいこと:
カートに入れた品物を表示(品物番号・品物名・値段)
カートに入れた品物をデーターベース(mysql)に登録(品物番号・品物名・値段)
現状、表示は問題なくできていますが、データベースへの登録がうまくいきません。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。