MySQLのDELETEが実行されません。
概要
掲示板サイトを作成しています。
PDOを用いてPHPからMySQLに接続しているのですが、DELETE文が実行されません。
add.phpファイルでデータベースにINSERTすることはできますが、
delete.phpファイルが正しく動作せず、DELETE文省略しています
下のファイルの
回答よろしくお願いします。
環境
PHP5.5
MYSQL 5.5
Ubuntu 14.04 LTS (Vagrant仮想環境)
Apache2.4
delete.php
<?php
$user = "root";
$pass = "abcd4649";
try{
if(empty($_GET['thid'])) throw new Exception(error);
$thid = $_GET['thid'];
$dbh =new PDO('mysql:host=localhost;dbname=db1;charset=utf8',$user,$pass);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$sql = "DELETE FROM title WHERE thid=?";
$stmt = $dbh->prepare($sql);
$stmt->bindValue(1,$title,PDO::PARAM_STR);
$stmt->execute();
$dbh = null;
echo "ID:" . htmlspecialchars($thid,ENT_QUOTES,'UTF-8') . "の削除が完了しました。";
echo "<a href='index.php'>トップページへ戻る</a>";
} catch (Exception $e){
echo "エラー発生:" . htmlspecialchars($e->getMEssage(),ENT_QUOTES, 'UTF-8') . "<Br>";
}
?>
add.php
<?php
$user="root";
$pass="abcd4649";
$title=$_POST['title'];
try{
$dbh =new PDO('mysql:host=localhost;dbname=db1;charset=utf8',$user,$pass);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO title (title) VALUES(?)";
$stmt = $dbh->prepare($sql);
$stmt->bindValue(1,$title,PDO::PARAM_STR);
$stmt->execute();
$dbh = null;
echo "スレッドの作成が完了しました。<br>";
echo"<a href=index.php>トップページへ戻る</a>";
} catch(PDOException $e){
echo "エラー発生:" . htmlspecialchars($e->getMessage(),ENT_QUOTES, 'UTF-8');
die();
}
?>