封装MySQL函数
下面对增删改查几个数据库操作进行封装,
因为在前面用PHP对mysql进行增删改查会发现代码很多重复的,
所以要把那几个常用的封装成函数
function.php
//声明编码
header("Content-Type:text/html;charset=utf-8");
//单条查询
function find($sql = null)
{
//引入全局变量
global $conn;
$res = mysqli_query($conn, $sql);
if(!$res)
{
echo "SQL语句执行失败:".$sql;
exit;
}
//返回数据
return mysqli_fetch_assoc($res);
}
//多条查询
function all($sql = null)
{
//引入全局变量
global $conn;
$res = mysqli_query($conn, $sql);
if(!$res)
{
echo "SQL语句执行失败:".$sql;
exit;
}
// 多条数据就是要循环
$list = [];
while($data = mysqli_fetch_assoc($res))
{
$list[] = $data;
}
//返回数据
return $list;
}
// 插入函数
function add($table, $data)
{
// INSERT INTO 表名(`字段1`,`字段2`,`字段3`)VALUES('值1','值2','值3')
global $conn;
global $pre_;
//给表名拼接上表前缀
$table = $pre_.$table;
//将数组里面的索引全部提取出来变成一个新数组
$keys = array_keys($data);
//数组变成字符串
$fields = "`".implode("`,`", $keys)."`";
$values = "'".implode("','", $data)."'";
$sql = "INSERT INTO $table($fields)VALUES($values)";
//执行语句
$res = mysqli_query($conn, $sql);
if(!$res)
{
echo "SQL语句执行失败:".$sql;
exit;
}
//返回插入ID
return mysqli_insert_id($conn);
}
//更新
function update($table, $data, $where = 1)
{
//UPDATE 表名 SET `字段1` = '值1', `字段2` = '值2' WHERE 条件
global $conn;
global $pre_;
//拼接表名
$table = $pre_.$table;
//直接组装
$str = "";
foreach($data as $key=>$item)
{
$str .= "`$key` = '$item',";
}
$str = trim($str, ",");
//组装sql语句
$sql = "UPDATE $table SET $str WHERE $where";
//执行sql
$res = mysqli_query($conn, $sql);
if(!$res)
{
echo "SQL语句执行失败:".$sql;
exit;
}
//返回影响行数
return mysqli_affected_rows($conn);
}
//删除
function del($table, $where = 1)
{
//DELETE FROM 表名 WHERE where
global $conn;
global $pre_;
$table = $pre_.$table;
$sql = "DELETE FROM $table WHERE $where";
//执行sql
$res = mysqli_query($conn, $sql);
if(!$res)
{
echo "SQL语句执行失败:".$sql;
exit;
}
//返回影响行数
return mysqli_affected_rows($conn);
}
config.php
<?php
header("Content-Type:text/html;charset=utf-8");
/*
连接数据库
host 主机地址
username 用户名
password 密码
dbname 默认使用数据库
port 连接到 MySQL 服务器的端口
socket socket 或要使用的已命名 pipe
*/
$conn=mysqli_connect('localhost','root','root');
if(!$conn){//如果连接数据库失败
echo "错误码:". mysqli_connect_errno();
echo "错误:". mysqli_connect_error();
exit;
}
//选择数据库
mysqli_select_db($conn, "company");
//设置默认客户端字符集
mysqli_set_charset($conn,"utf8");
// 引入function函数库
include_once('function.php');
?>
test.php
<?php
include_once('config.php');
//新增数据
$data=array(
'name'=>'市场部'
);
$res = add('pre_department',$data);
if($res){
echo '成功';
}else{
echo '失败';
}
//修改数据 假如修改市场部的名称 在这里id为28,以你的数据为准
$savedata=array(
'name'=>'市场二部'
);
$res = update('pre_department',$savedata,'id=28');
if($res){
echo '成功';
}else{
echo '失败';
}
//查询全部数据
$sql = "select * from `pre_department`";
$data = all($sql);
var_dump($data);
//查询单条数据
$sql = "select * from `pre_department` where id=28";
$data = find($sql);
var_dump($data);
?>