php封裝一個連結資料庫的函式(增刪改查)
阿新 • • 發佈:2019-02-10
1。我們封裝一個簡單的資料庫的增刪改查函式,方便使用
我們先寫一個config檔案來使用裡面是你資料庫的資訊
<?php
define('DB_HOST' , 'localhost');
define('DB_USER' , 'root');
define('DB_PWD' , '');
define('DB_NAME' , 'test');
define('DB_CHARSET' , 'utf8');
接下來我們寫個看封裝好的函式:
<?php /* *@parme string $host *@parme string $user *@parme String $pwd *@prame string $charset *@prame string $name *@prame string $table *@prame array $data * * */ function connect($host , $user , $pwd , $charset , $name) { $link = mysqli_connect($host , $user , $pwd); if (!$link) { //exit('資料庫連結失敗'); return false; } mysqli_set_charset($link , $charset); if (!mysqli_select_db($link , $name)) { return false; } return $link; } function insert($link , $table , $data) { //insert into $table(欄位1,欄位2 。。。) values(值1,值2,,,,,) //資料是從post提交過來的 //var_dump($data); $keys = array_keys($data); //就是資料庫的欄位 //var_dump($keys); //username , password , sex $fields = join(',' , $keys); //var_dump($fields); $value = array_values($data); //獲取就是要插入的資料的值 $values = join(',' , parseValue($value)); $sql = "insert into $table($fields) values($values)"; //var_dump($sql); $result = mysqli_query($link , $sql); if ($result && mysqli_affected_rows($link)) { return mysqli_insert_id($link); } else { return false; } } //處理值為字串的情況 用引號引起來 function parseValue($data) { if (is_string($data)) { $data = '\''.$data.'\''; } else if (is_array($data)) { $data = array_map('parseValue' ,$data); } else if (is_null($data)) { $data = null; } return $data; } function update($link , $table , $data , $where) { //update $table set usename='??' , password=??? , sex =??? where id = $where; $set = join(',' , parseSet($data)); //var_dump($set); $sql = "update $table set $set where $where"; //echo $sql; $result = mysqli_query($link , $sql); return $result; } //處理修改的時候的set問題 function parseSet($data) { foreach ($data as $key => $value) { $value = parseValue($value); if (is_scalar($value)) { $set[] = $key . '=' . $value; } } return $set; } function del($link , $table , $where) { //delte from $table where $wehre; $sql = "delete from $table where $where "; $result = mysqli_query($link , $sql); if ($result && mysqli_affected_rows($link)) { //return mysqli_insert_id($link); return mysqli_affected_rows($link); } else { return false; } } function select($link , $table , $where , $fields = '*') { $sql = "select $fields from $table where $where"; $result = mysqli_query($link , $sql); if ($result && mysqli_affected_rows($link)) { while ($rows = mysqli_fetch_assoc($result)) { $data[] = $rows; } return $data; } else { return false; } } //$data = select($link , 'bbs_user' , 'id>40'); //var_dump($data); function sum($link , $table , $fields = 'id') { $sql = "select sum($fields) as sum from $table"; $result = mysqli_query($link , $sql); $sum = mysqli_fetch_assoc($result); return $sum['sum']; } //echo sum($link , 'bbs_user'); function MyMax($link , $table , $fields = 'id') { $sql = "select max($fields) as max from $table"; $result = mysqli_query($link , $sql); $max = mysqli_fetch_assoc($result); return $max['max']; } //echo MyMax($link , 'bbs_user'); function MyCount($link , $table , $fields = 'id') { $sql = "select count($fields) as count from $table"; $result = mysqli_query($link , $sql); $count = mysqli_fetch_assoc($result); return $count['count']; } //echo MyCount($link , 'bbs_user'); function MyAvg($link , $table , $fields = 'id') { $sql = "select avg($fields) as avg from $table"; $result = mysqli_query($link , $sql); $avg = mysqli_fetch_assoc($result); return $avg['avg']; } //求最小值 function MyMin($link,$table,$fields = 'id'){ $sql = "select min($fields) as min from $table"; $result = mysqli_query($link,$sql); $min = mysqli_fetch_assoc($result); return $min['min']; } //封裝一個分組的方法 function group($link,$table,$fields = "id",$group = "province"){ $sql = "select count($fields) as a from $table group by $group"; var_dump($sql); $result = mysqli_query($link,$sql); if($result && mysqli_affected_rows($link)){ while($arr = mysqli_fetch_assoc($result)){ $arrsy[] = $arr['a']; } return $arrsy; }else{ return false; } }
4.我們這裡寫個公共類來存放,方便以後開發
<?php
session_start();
//define('WEB_SITE' , str_replace('\\' , '/' , __DIR__));
include 'config.php';
include 'mysql_func.php';
//
$link = connect(DB_HOST , DB_USER , DB_PWD , DB_CHARSET , DB_NAME);