Blogger Information
Blog 30
fans 0
comment 0
visits 18199
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
4.26 数据操作函数封装
宋的博客
Original
615 people have browsed it

实例

<?php 

//链接数据库
if(!function_exists('connect'))
{

function connect($dbname,$type='mysql',$host='127.0.0.1',$charset='utf8',$port=3306,$user='root',$pass='root')
{


$dsn = "{$type}:host=$host; dbname={$dbname}; charset={$charset}; port={$port}";

//数据库用户名
$userName = $user;

//数据库用户密码
$password = $pass;

//配置连接属性
$options = [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,  //设置错误模式
    PDO::ATTR_CASE => PDO::CASE_NATURAL,  //数据表字段保持不变
    PDO::ATTR_EMULATE_PREPARES => true, //启用PDO模拟
    PDO::ATTR_PERSISTENT => true, //启用持久性连接
];

//使用try-catch()来捕获可能发生的错误
try {
    //调用PDO构造函数实例化PDO类,创建PDO对象
    $pdo = new PDO($dsn, $userName, $password, $options);
    //连接是所有操作的基础,无论你设置的错误模式级别是什么,都会强制使用EXCEPTION异常模式
    // echo 'OK';
} catch (PDOException $e) {

    print '连接错误'.$e->getMessage(); //推荐使用英文提示,以防止页面中文乱码
    die();  //连接错误是致命错误,必须停止脚本的执行
}
return $pdo;
}
}

//新增数据
if (!function_exists('insert')) {
    /**
     * 新增数据
     * @param $pdo
     * @param $table
     * @param $data
     * @return bool
     */
    function insert($pdo, $table, $data=[])
    {
        //创建SQL语句
        $sql = "INSERT IGNORE {$table} SET ";
        foreach (array_keys($data) as $field) {
            $sql .= $field.'=:'.$field.', ';
        }
		// //去掉逗号变分号
		 $sql = rtrim(trim($sql),',').';';

		$stmt =$pdo->prepare($sql);

		// //绑定参数到预处理对象
	 foreach($data as $field=>$value){
	 	$stmt->bindValue(":{$field}",$value);	
		 }
		 //执行新值操作
	if ($stmt->execute()){
		if ($stmt->rowCount()>0){
	 		return true;
	 	}
	 }else {
		return false ;
		 }
	}
}

运行实例 »

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

实例

<?php
/*
 *  数据库操作函数库测试
 */
//导入数据库操作函数库
require 'lib/concent.php';

//1.连接测试
$type='mysql';      
$host='127.0.0.1';  
$dbname='php';      
$charset='utf8';    
$port=3306;         
$user='root';       
$pass='root';       
$pdo = connect($dbname,$type,$host,$charset,$port,$user,$pass);

//2.新增测试
$table = 'staff';
$data = ['name'=>'张三疯','sex'=>0, 'age'=>90,'salary'=>5900];
// insert($pdo,$table,$data);

//3.更新测试
$table = 'staff';
$where='staff_id=24'; //查询条件使用字符串直接传入
$data = ['name'=>'核心技术','sex'=>1, 'age'=>30,'salary'=>8900];
//insert($pdo,$table,$data,$where);

//4.单条查询测试
$table = 'staff';
$fields = ['name','age','salary'];
//$fields = '*';
$fields = 'name,salary';
$where = 'age > 40';
//echo '<pre>'.print_r(find($pdo, $table, $fields, $where),true).'</pre>';

//5.多条查询测试
$table = 'staff';
$fields = ['name','age','salary'];
$fields = '*';
$where = 'age < 40';
$order = 'name asc';
echo '<pre>'.print_r(select($pdo, $table, $fields, $where, $order),true).'</pre>';

//6.删除测试
$table = 'staff';
$where = 'staff_id = 25';
$where = '';
//delete($pdo, $table, $where);

运行实例 »

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


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
Author's latest blog post