PHP PDO添加编辑更新选择语句

时间:2013-10-03 07:11:40

标签: php pdo

这些是我的PDO添加,编辑,删除,选择我的MVC模式实现的函数。

我需要使用PDO知道此实现是否正确。

这些是模型类函数:

   public function getStudentById($id){

        $stmt       = $this->db->con->query("SELECT * FROM student WHERE id = '$id'");
        $result     = $stmt->fetch(PDO::FETCH_ASSOC);

        return $result;

    }

    public function addStudent($arrData){

        $sql        = " INSERT INTO student (name,age,address)".
                      " VALUES ('$arrData[name]','$arrData[age]','$arrData[address]')";

        $stmt       = $this->db->con->prepare($sql);
        $stmt->execute();

        return $this->db->con->lastInsertId(); 

    }

    public function editStudent($arrData){

        $sql        =   " UPDATE student SET ".
                        " name='$arrData[name]',age='$arrData[age]',address='$arrData[address]'".
                        " WHERE id=$arrData[id] ";

        $stmt       = $this->db->con->prepare($sql);
        $stmt->execute();

        return $this->db->con->lastInsertId(); 

    }


    public function deleteStudent($id){

        $stmt       = $this->db->con->query("DELETE FROM student WHERE id = '$id'");

    }

1 个答案:

答案 0 :(得分:0)

正确与否,您可以更轻松,更安全地完成。 PDO的一个主要优点是支持参数化查询,您只需编写占位符并让PDO插入值。这将有助于防止SQL注入,因为PDO将为您执行正确的格式化。

$sql = 'SELECT * FROM student WHERE id = ?';
$statement = $db->prepare($sql);
$statement->bindValue(1, $id, PDO::PARAM_INT); // or PDO::PARAM_STR
$statement->execute();