博主信息
博文 30
粉丝 0
评论 0
访问量 22755
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
4.26 数据操作函数封装
宋的博客
原创
770人浏览过

实例

<?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);

运行实例 »

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


批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学