Blogger Information
Blog 3
fans 0
comment 0
visits 2927
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PDO增删查改的自定义方法 ----- 2019年3月21日20时00分
Ray的博客
Original
807 people have browsed it
  • 1自定义方法 PDO向数据库查询数据

  • 实例

    // 查询数据
    	// $table 必须传值
    	// 作业 : 用PDO把增删改方法写好,可以传值
    	function select($table,$field,$where='',$order='',$limit=''){
    		// 1,连接
    		$c = con();
    		// 2,sql语句
    		$sql = 'SELECT ';	// 组装select关键词
    
    		// 如果返回值传值,才进行组装
    		if(!empty($field)){
    			$sql .= trim($field);		// 组装查询返回字段
    		}
    		else{
    			$field='*';
    			$sql .= $field;	
    		}
    
    		$sql .= ' FROM ';	// 组装表名关键词
    		$sql .= $table;		// 组装表名
    		// empty 判断变量是否为空
    		// ! 取反
    		// !empty($where) 判断变量不为空,才会进入if
    		// 判断是否传条件,传了条件进行条件组装
    		if(!empty($where)){
    			$sql .= ' WHERE ';	// 组装条件关键词
    			$sql .= trim($where);		// 组装条件
    		}
    
    		// 判断排序
    		if(!empty($order)){
    			$sql .= ' ORDER BY ';
    			$sql .= trim($order);
    		}
    
    		// 判断数量
    		if(!empty($limit)){
    			$sql .= ' LIMIT ';
    			$sql .= trim($limit);
    		}
    
    		// 3,预处理sql语句
    		$a = $c->prepare($sql);
    		// 4,执行sql语句,判断是否执行mysql语句成功
    		// 为什么要判断,别人使用咱们写好的方法,可能会传一些,无法估计的参数,导致查询失败。
    		if($a->execute()){
    			// 当查询结果后,结果集是没有数据的。
    			// 用rowCount方法,判断结果集是否有结果,有结果我们才返回结果
    			if($a->rowCount()){
    				// 5,设置模式
    				$a->setFetchMode(PDO::FETCH_ASSOC);
    				// 6,结果集
    				$ret = $a->fetchAll();
    				// 返回结果集
    				return $ret;
    			}else{
    				return false;
    			}
    		}else{
    			return false;
    		}
    	}
    	// 	$s = select('staff','','id>=2','id desc','0,1');
    	// print_r($s);

    运行实例 »

    点击 "运行实例" 按钮查看在线实例

  •  调用select方法得到的效果图:

            1553186837(1).png

  • 2.自定义方法 PDO添加数据到数据库


  • 实例

    	//添加数据
    	function add($table,$field,$content){
    
    		// 1,连接
    		$c = con();
    		// 2,sql语句
    		$sql = ' INSERT INTO '; //组装添加语句
    		$sql .=	trim($table); //trim()去掉前后空格
    		//判断要添加的字段是否为空 为空则默认全部字段,不为空则为输入的字段
    		if (!empty($field)) {
    			$sql .= trim("($field)");
    		}
    		$sql .= ' VALUES ';
    		//对应字段填入要添加的内容
    		$sql .= trim("($content)");
    
    		// 3,预处理sql语句
    		$a = $c->prepare($sql);
    		// 4,执行sql语句,判断是否执行mysql语句成功
    		// 为什么要判断,别人使用咱们写好的方法,可能会传一些,无法估计的参数,导致查询失败。
    		if($a->execute()){
    			return '添加成功';
    		}else{
    			return "添加失败";
    		}
    		
    }
    // $add = add('staff','name,position','"李锐欣4","最强全栈工程师4"');
    // echo $add;

    运行实例 »

    点击 "运行实例" 按钮查看在线实例

  • 调用add方法得到的效果图

    1553187264(1).png


  • 3.自定义方法删除数据库数据

  • 实例

    //删除数据
    	function delete($table,$where=''){
    		//连接数据库
    		$c = con();
    		$sql = 'DELETE'; //组装删除语句
    		$sql .= ' FROM ';
    		$sql .= trim($table);
    
    		//where必须填不然删除的是整个表,填入则删除对应的数据行
    		if (!empty($where)) {
    			$sql .= ' WHERE ';
    			$sql .= trim($where);
    		}
    		//3,预处理sql语句
    		$a = $c->prepare($sql);
    		// 4,执行sql语句,判断是否执行mysql语句成功
    		// 为什么要判断,别人使用咱们写好的方法,可能会传一些,无法估计的参数,导致查询失败。
    		if($a->execute()){
    			return '删除成功';
    		}else{
    			return "删除失败";
    		}
    	}
    	// $delete = delete('staff');
    	// echo $delete;

    运行实例 »

    点击 "运行实例" 按钮查看在线实例

  • 调用delete方法得到的效果图:

    1553187419(1).png


  • 4.自定义方法PDO修改数据库数据

  • 实例

    	//修改数据
    	function update($table,$field,$where=''){
    		//连接数据库
    		$c = con();
    		$sql = ' UPDATE '; //组装修改语句
    		$sql .= trim($table);
    		$sql .= ' SET ';
    		$sql .= trim($field);
    		//wehere必须填不然将整个表修改,填入则修改对应的数据行
    		if (!empty($where)) {
    			$sql .= ' WHERE ';
    			$sql .= trim($where);
    		}
    		//3,预处理sql语句
    		$a = $c->prepare($sql);
    		// 4,执行sql语句,判断是否执行mysql语句成功
    		// 为什么要判断,别人使用咱们写好的方法,可能会传一些,无法估计的参数,导致查询失败。
    		if($a->execute()){
    			return '修改成功';
    		}else{
    			return "修改失败";
    		}
    
    	}
    	//$update = update('staff','name="锐欣会成为PHP工程师"','id=3');
    	//echo $update;

    运行实例 »

    点击 "运行实例" 按钮查看在线实例

  • 调用update方法得到的效果图

    1553187687(1).png

  • 5.总结:

    ① PHP Data Object(php数据对象)-- 它是一种数据库抽象层。用PDO可以连接操作各个数据库。

    ② 一套代码可以操作多个数据库,更换数据库不用从新写代码

    ③ 用pdo来操作数据库,效率更高(执行速度更快)

       ④ 安全性更高

       ⑤学习了面对对象的编程,感觉很实用,在学校学习的是面向过程是另一种思维,面向过程的实用性非常明显是绝对占据优势的,会继续坚持学习的

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments