データベースの更新機能が正常に動作しません。
データベースの接続、表示はうまくいきました。原因がわかりません。
php
1<?php 2class DB{ 3 //mysqlとやりとりをするクラス 4 private $USER="*"; 5 private $PW ="*"; 6 private $dns="mysql:dbname=*;host=localhost;charset=utf8"; 7 8 //pdoのインスタンスをつくる関数 9 private function Connectdb(){ 10 try{ 11 $pdo=new PDO($this->dns,$this->USER,$this->PW); 12 return $pdo; 13 }catch(Exception $e){ 14 return false; 15 } 16 } 17 //sqlを実行する関数 18 public function executeSQL($sql,$array){ 19 try{ 20 if(!$pdo=$this->Connectdb())return false; 21 $stmt=$pdo->prepare($sql); 22 $stmt->execute($array); 23 return $stmt; 24 }catch(Exception $e){ 25 return false; 26 } 27 } 28} 29 30?>
以下では上記のclass DBを引き継いで使用しています。
php
1<?php 2require_once('db.php'); 3class DBGoods extends DB{ 4 5public function UpdateGoods(){ 6 7 $sql="update Project set name = :name where ProjectID= :id"; 8 $array=array(':name'=> $_POST['form'], ':name'=> $_POST['id']); 9 parent::executeSQL($sql, $array); 10 } 11}
フォームに入力した値を$_POST['form']として取得し、データベースのupdateしたいところを$_POST[id]で取得しています
ちなみに上のコードの$_POST['form'], $_POST['id']の要素は2つとも正しく取得できています。
php
1<?php 2require_once('db2.php'); 3$dbgoods=new DBGoods(); 4 5//値更新 6if(isset($_POST['sub'])){ 7 $dbgoods->UpdateGoods(); 8} 9 10?>
データベースをみても入力した値がデータベース上で更新
されてません
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/22 21:14
2016/10/22 21:32
2016/10/22 21:55
2016/10/23 03:55