PHP MySQL 数据库操作函数库

该代码库提供了 PHP 连接 MySQL 数据库,执行 SQL 语句,读取和写入数据的函数。该代码库采用简洁高效的设计,方便用户进行数据库操作。

连接数据库

<?php
use function PHPUnit\Framework\returnSelf;

function connect(&$error, $username, $password, $dbname, $host='localhost', $port='3306', $charset='utf8'){
    $conn=@mysqli_connect($host, $username, $password, $dbname, $port);
    if(!$conn){
        $error=iconv('gbk', 'utf-8', mysqli_connect_error());
        return false;
    }

    if(!mysqli_set_charset($conn, $charset)){
        $error=mysqli_error($conn);
    }

    return $conn;
}

$conn=connect($error, 'root', 'root', 'stu');

var_dump($conn);
// echo $error;
if(!$conn) die($error);

?>

执行 SQL 语句

<?php
// SQL执行 返回执行的结果 如果失败返回false 并记录错误信息
function execute($conn, $sql, &$error){
    $res=mysqli_query($conn, $sql);
// 执行失败
    if(!$res){
        $error=mysqli_error($conn);
        return false;
    }

    return $res;
}
?>

读取数据

<?php
function read($conn, $sql, &$error, $all=false){
    // 调用执行的结果
    $res=execute($conn, $sql, $error);
    if(!$res){
        return false;
    }

    if($all){
        // 获取全部结果
        $lists=[];
        while($one=mysqli_fetch_assoc($res)){
            $lists[]=$one;
        }
        return $lists;
    }else{
        return mysqli_fetch_assoc($res);
    }


}

$list=read($conn, 'select * from shenzhou', $error, true);
var_dump($list);
?>

写入数据

<?php
function write($conn, $sql, &$error, $insert=false){
    $res=execute($conn, $sql, $error);
    if(!$res){
        return false;
    }


    if($insert) return mysqli_insert_id($conn);
    else return mysqli_affected_rows($conn);
}

echo write($conn, 'update shenzhou set age=age+1 limit 3', $error);
?>

代码优化建议

  1. 在函数中使用了全局变量 $error,这不是一个好的编程习惯,建议将其改为函数的返回值。
  2. 函数 read() 在获取全部结果时存在问题,由于 return $lists 应该放在 while 循环之外,否则只会返回第一条结果。
  3. 函数 write() 中的 $insert 参数并没有使用,可以考虑移除或者实现其功能。

总结

该代码库提供了简单易用的 PHP MySQL 数据库操作函数,可以帮助用户快速便捷地进行数据库操作。建议根据实际需求对代码进行优化,并注意代码安全性和可维护性。

PHP MySQL 数据库操作函数库 - 简洁高效连接、执行、读取和写入数据

原文地址: https://www.cveoy.top/t/topic/ovOj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录