PHP实现连接数据库3

发布时间:2022-08-19 13:21

PHP实现连接数据库3

上次我们说到php对数据库的insert(添加数据)接下来我们就说下php的删除操作

删除数据我们首先要数组库中有数据才可以进行删除数据的操作,delete from taname where … 这就是基本删除数据的sql语句,我们需要where子句对删除的数据进行筛选,否则将会删除表中的所有数据,首先我们先来写一个delete方法不带where子句,没有传入的值。

代码如下:

public function delete(){//删除数据的方法
    $this->operate='delete';//记录当前为delete操作
    if(!empty($this->where)) {//如果where不为空的话就执行以下操作
        $where = " WHERE " . $this->where;//组装where语句
    }
    $sql="DELETE FROM {$this->tabname}"." {$where}";//组装sql语句
    return $this->runsql($sql,$this->operate,'');//调用runsql执行sql语句并返回结果
}

是不是发现where是个空的值是因为我们还未给他设置值接下来我们就写个__call()方法来执行对where的赋值操作

public function __call($funname,$args){//一个魔术方法当调用此类中不存在的方法时执行此方法可用来屏蔽错误
//            可采用这种方法来判断用户输入的where...group...order...limit...
//            $funname为该方法不存在的方法名,$args为该方法传入的参数
            if($funname=="where"){//where子句
                $this->where=$args[0]?$args[0]:'';//如果where有值得话给$where赋值如果没有赋值为空
            }
            return $this;
        }//接下来下面还可以写group...order...limit...

接下来我们就可以试着执行下删除的操作了


    include 'daconfig.php';//引入配置文件
    include 'MySQL.php';//引入MySQL
    $mysql=new model();//new一个对象
    $mysql->construct("student");//连接数据库指定要操作的表
//    //传入数组显示查询的内容
    $a="sid!='1610519053'";//where条件
    $mysql->where($a);//调用where方法给where赋值
    $mysql->delete();//执行delete方法
//注意!!!where语句必须写在delete方法前不然会删除表的所有数据只有写在前面才会有限制条件
?>

现在就可以实现删除数据的方法了,今天你学废了吗?


逐梦版权所有丨如未注明 , 均为原创丨本网站采用 BY-NC-SA协议进行授权
转载请注明原文链接: PHP实现连接数据库3
喜欢 (0)

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号