批改状态:合格
老师批语:
一、知识点
1,主要涉及知识点,函数的封装、使用。pdo连接函数封装,pdo操作数据库常规操作的使用流程。
2,PDO连接函数封装
主要对使用常规操作对PDO连接流程封装到函数内,返回连接对象。
3,PDO数据库常规操作封装
数据库数据插入、数据查询、数据修改,数据删除
二、代码部分
<?php
/**
* 数据库PDO连接
* @param $type
* @param $host
* @param $dbname
* @param $db_un
* @param $db_pw
* @return PDO
*/
function db_conn($type,$host,$dbname,$db_un,$db_pw)
{
$dsn="{$type}:host={$host};dbname={$dbname}";
$un=$db_un;
$pw=$db_pw;
$pdo=new PDO("$dsn","$un","$pw");
return $pdo;
}
//INSERT into user set username="aa",`password`="zzz"
/**
* 数据库插入操作
* @param $pdo
* @param $table
* @param array $data
*/
function db_insert($pdo,$table,$data=[])
{
$sql="INSERT into {$table} set";
foreach (array_keys($data) as $keys)
{
$sql.=" {$keys}=:{$keys},";
}
trim($sql);
$sql=rtrim($sql,",");
$stmt=$pdo->prepare($sql);
foreach ($data as $key=>$val)
{
$stmt->bindValue(":{$key}",$val);
}
if ($stmt->execute())
{
if ($stmt->rowCount()>0)
{
return ($stmt->rowCount());
}
}
else
{
return false;
}
}
//UPDATE `user` SET username="aaa" WHERE id=8
function db_update($pdo,$table,$data,$where="")
{
$sql="UPDATE {$table} SET";
foreach (array_keys($data) as $keys)
{
$sql.=" {$keys}=:$keys ,";
}
trim($sql);
$sql=rtrim($sql,",");
if (!empty($where))
{
$sql.=" where {$where}";
}
else
{
exit('没有where条件');
}
// exit($sql);
$stmt=$pdo->prepare($sql);
foreach ($data as $key=>$val)
{
$stmt->bindValue(":{$key}",$val);
}
if ($stmt->execute())
{
if ($stmt->rowCount()>0)
{
return "<h1>更新成功</h1>";
}
else{
return "<h1>没有数据被更新</h1>";
}
}
else
{
print_r($stmt->errorInfo());
}
}点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号