删除选项不适用于PDO,php

时间:2015-09-22 06:51:09

标签: php ajax pdo

无法在php中使用PDO删除i行。以下是我的代码

这是inc.common.php

<?php 
    @session_start();
    include_once '../common/inc.config.php';
    include_once '../common/inc.globalConstants.php';
    $db = new PDO("mysql:host=$mdbhost;dbname=$mdbname",$mdbuser,$mdbpass );
    $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
    $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    include_once '../classes/cls.common.php';
    $Cobj=new common($db);
?>

这是我的cls.class.php

 <?php
class common {
    public function common($dbcon) {
        $this->dbCon = $dbcon;
    }
    public function getCustomData($tableName,$fields, $conditions = "") {
        $stmt = "";
        $sql = "";
        $sql = "SELECT $fields FROM $tableName  $conditions ";
        $stmt = $this->dbCon->query($sql);
        $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
        return $result;
      }
    public function delet($tableName, $class_id){
        $inputArray['classId']=$class_id;
        $count = $this->$dbCon->prepare("DELETE FROM $tableName WHERE classId =:classId");
        $result = $stmt->execute($inputArray);
        return $result;
     }
 ?>

这是我的addinfo.php

<?php 
    include '../common/inc.common.php';
    $class_id=$_POST['refid'];
    if(isset($_POST['mode']))
    {
        $tableName="class";
        $class_id=$_POST['refid'];
        $res=$Cobj->delet($tableName, $class_id);
    }
?>

使用AJAX调用传递变量我无法删除行.Ajax调用成功。只有PDO删除的问题。

$.ajax({
        url: "../masters/addinfo.php", 
        type: "POST",        
        data:"refid="+class_id+"&mode=delete",
});   

我的表有4个字段classIdnamedatestat

2 个答案:

答案 0 :(得分:2)

$stmt中的function delet()变量未定义。

答案 1 :(得分:1)

public function delet($tableName, $class_id){
 $inputArray['classId']=$class_id;
 $stmt = $this->$dbCon->prepare("DELETE FROM $tableName WHERE classId =:classId");
 $result = $stmt->execute($inputArray);
 return $result;
}

将解决此问题。注意改变了什么; $count已更改为$stmt