删除选项不适用于PDO,php


Delete option is not working with PDO ,php

无法在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

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

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