批改状态:合格
老师批语:
<?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);
点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号