CRUD-PHPPDO错误

CRUD-PHPPDO错误,php,mysql,pdo,Php,Mysql,Pdo,我对PHP PDO的源代码有问题。我尝试用PHP PDO制作CRUD,但当我尝试删除源代码和运行脚本时,数据不希望被擦除。。如果我的发言没有错,我很抱歉,我是印尼人 谢谢,这是以前的事 脚本函数删除: public function deleteData($id) { // fungsi menghapus data dari database $this->id = $id; $this->sql = "DELETE FROM student

我对PHP PDO的源代码有问题。我尝试用PHP PDO制作CRUD,但当我尝试删除源代码和运行脚本时,数据不希望被擦除。。如果我的发言没有错,我很抱歉,我是印尼人

谢谢,这是以前的事

脚本函数删除:

public function deleteData($id)
    {
        // fungsi menghapus data dari database
    $this->id = $id;
    $this->sql = "DELETE FROM student WHERE id=:id";
    $this->q = $this->dbh->prepare($sql);
    $this->q->bindParam(":id",$this->id);
    $this->q->execute();
    return true;
    }
脚本delete.php

<?php
     include "belajar_crud.php";
     $obj = new crud;
     $id = isset($_GET['id']) ? $_GET['id']:'';
     $obj->deleteData($id);
?>

更改此行:

$this->q = $this->dbh->prepare($sql);
为此:

$this->q = $this->dbh->prepare($this->sql);
这是我在代码中看到的唯一错误。。。 如果不是这样,您需要提供更多信息。

为什么不尝试

config.php:

define('HOST','your host');
define('BD','your database');
define('USER','your user');
define('PASS','your password');
BD.class.php:

class BD{
     private static $conn;
     public function __construct(){}
     public function conn(){
          if(is_null(self::$conn)){
               self::$conn = new PDO('mysql:host='.HOST.';dbname='.BD.'',''.USER.'',''.PASS.'');
          }
          return self::$conn;
     }
}
您的删除代码:

@BD::conn();
$query = @BD::conn()->prepare("DELETE FROM YOURTABLE WHERE ID = ?");
if($query->execute(array($this->id))){
    echo "<script>alert('Delete Successful');</script>";
}
@BD::conn();
$query=@BD::conn()->prepare(“从ID=?”的表中删除”);
if($query->execute(数组($this->id))){
回显“警报(‘删除成功’);”;
}

确切的意外行为是什么?您需要显示导致此意外行为的代码?是否有任何错误?代码本身看起来不错,但可能表名或字段名错误,id可能包含无效字符,或者您可能缺少删除行的正确凭据。此代码delete.php:此代码函数delete php:我在运行时没有看到错误代码,但是当我尝试删除数据时,数据不会被擦除。看起来您已经开始编写自己的数据库层了。请记住,任何现代的同类软件都已经有了一个功能强大的软件,因此这通常会适得其反。感谢replay,我已经替换了它,但当我运行时,数据仍然不希望被擦除