フォームからid送信→受け取りそのidに該当するデータを全て取り出す→取り出した値を変数に格納→格納した変数を使いinsertというふうにしたいのですがinsert先に同じカラムを用意しても何も格納されません。
php
1if (!empty($_GET['id'])){ 2$id = $_GET['id']; 3} 4 5try { 6 $db = new PDO(Conf::DB_DNS, Conf::DB_USERNAME, Conf::DB_PASSWORD); 7 $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 8 $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 9 $sql = "SELECT book_id, book_name, price FROM product WHERE id = {$id}"; 10 $stmt = $db->prepare($sql); 11 $result = $stmt->execute([]); 12 13while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 14 $dp = []; 15 foreach ($row as $col => $val) { 16 $dp[$col] = $val; 17 } 18 19 $product = new product(); 20 $product->setId($dp['id']); 21 $product->setName($dp['name']); 22 $product->setPrice($dp['price']); 23 $List[$dp['id']] = $product; 24} 25 26 27$id = $product->getId(); 28$name = $product->getName(); 29$price = $product->getPrice(); 30 31 32 33$insert_sql = "INSERT INTO product (id, name, price,) VALUES(:id, :name, :price)"; 34$stmt = $db->prepare($insert_sql); 35$stmt->bindValue(":id", $id, PDO::PARAM_INT); 36$stmt->bindValue(":name", $name, PDO::PARAM_STR); 37$stmt->bindValue(":price", $price, PDO::PARAM_INT); 38$result_in = $stmt->execute(); 39 40 41} catch (PDOException $ex) { 42 $_SESSION["errorMsg"] = "DB接続に失敗しました。"; 43} finally { 44 $db = null; 45} 46?> 47 48
あなたの回答
tips
プレビュー