常用Mysqli代码

来源:互联网 发布:seo编辑岗位职责 编辑:程序博客网 时间:2024/06/08 07:29
<?php
//包含函数库
require_once('../include.php');
function connect(){
   $mysqli=@new mysqli('localhost','123','123','shop')or exit('连接失败');
    if( $mysqli->connect_errno){
    die('Connect Error:'.$mysqli->connect_error);
   }else{
 //echo"数据库连接成功!";
     }
   $mysqli->set_charset('utf8');//utf8这个地方要注意
   return $mysqli;
}
 
/*专门用于增*/
function insert($table,$array){
$keys=join(",",array_keys($array));
$vals="'".join("','", array_values($array))."'";
$sql="insert into {$table}($keys) values({$vals})";
//var_dump($sql);
//insert into shop_admin(username,password) values('dsc','a98aa11fe')
$link = connect();//连接数据库
$result = mysqli_query($link,$sql);// 发送执行
// 如果执行成功 和受影响行大于 0
if($result && mysqli_affected_rows($link) > 0){
     return mysqli_insert_id($link) ? mysqli_insert_id($link) : mysqli_affected_rows($link);
}
mysqli_close($link);// 关闭连接
}
 
/*修改数据*/
function update($table,$arr,$where=null){
//处理POST过来的数据
$name = array();
$numb = array();
foreach ($arr as $key => $value) {
$name[] = '`'.$key.'`';
$numb[] = "'".$value."'";
}
//将格式化的数据拼接装进新数组
$srt = array();
for ($i=0; $i < count($name); $i++) { 
$srt[] = "$name[$i]=$numb[$i]";
}
//将数组中的值按格式连接得到完整的修改条件
$str=join(",",array_values($srt));//拼接sql语句
$sql="update {$table} set {$str} ".($where==null?null:" where ".$where);
$link = connect();//连接数据库
$result = mysqli_query($link,$sql);// 发送执行
//判断是否修改成功
if($result){
return mysqli_affected_rows($link);
}else{
return false;
}
mysqli_close($link);// 关闭连接
}
 
/*删除记录*/
function delete($table,$where=null){
$link = connect();//连接数据库
$where=$where==null?null:" where ".$where;//拼接命令
$sql="delete from {$table} {$where}";
mysqli_query($link,$sql);//执行删除
return mysqli_affected_rows($link);//返回信息
//关闭连接
mysqli_close($link);
}
 
 
/*得到指定一条记录*/
function fetchOne($sql){
$link = connect();
$result = mysqli_query($link,$sql);// 发送执行
$row = mysqli_fetch_assoc($result);//取得结果
mysqli_free_result($result);// 释放资源
return $row;// 关闭连接
}
 
 
/*得到结果集中所有记录*/
function fetchAll($sql){
$link = connect();//连接数据库
$result=mysqli_query($link,$sql);
if($result && mysqli_affected_rows($link) > 0){ 
//如果有结果才执行
while(@$row = mysqli_fetch_assoc($result)){
$rows[]=$row;
}
return $rows;
mysqli_free_result($result);// 释放资源
mysqli_close($link);// 关闭连接
}
return false;
}
 
 
/*得到上一步插入记录的ID*/
// 直接用insert()函数返回的值来代替这个函数
function getInsertId(){
$link = connect();//连接数据库
return mysqli_insert_id($link);
}
 
/*得到结果集中的记录条数*/
function getResultNum($sql){
$link = connect();//连接数据库
$result=mysqli_query($link,$sql);
mysqli_close($link);// 关闭连接
return mysqli_num_rows($result);//结果集中的记录条数
}
 
// 专门用于数据库的查询(老师的)
function query($sql){
$link = connect();//连接数据库
$result = mysqli_query($link,$sql);// 发送执行
$list = array();
// 循环遍历结果集getAdminByPage
while($row = mysqli_fetch_assoc($result)){
$list[] = $row;
}
mysqli_free_result($result);// 释放资源
mysqli_close($link);// 关闭连接
return $list;// 直接把遍历好的数据返回
}
 
/*查询数据库中表的下一个自增ID*/
function AutoID($MYSQL_DB,$TABLE_NAME){
//连接数据库
$link = @mysqli_connect(HOST,USER,PASS,'information_schema') or exit('连接失败');
//获取MYSQL下一个自增ID
$sql="select Auto_increment from `TABLES` where Table_Schema='{$MYSQL_DB}' AND table_name='{$TABLE_NAME}'";
$result = mysqli_query($link,$sql);//执行查询
$row = mysqli_fetch_assoc($result);//获取返回的一条信息
$rows = $row['Auto_increment'];
mysqli_free_result($result);// 释放资源
mysqli_close($link);// 关闭连接
return $rows;
 
}
 
function get_str($id = 0) { 
$str = "";
$link = connect();//连接数据库
//瓶接设计SQL
$sql = "select id,typename from class where pid= $id"; 
//查询pid的子类的分类  
$result = mysqli_query($link,$sql);
//如果有子类
if($result && mysqli_affected_rows()){ 
$str .= '<ul>'; 
while ($row = mysqli_fetch_array($result)) { //循环记录集 
$str .= "<li>" . $row['id'] . "--" . $row['title'] . "</li>"; //构建字符串 
get_str($row['id']); //调用get_str(),将记录集中的id参数传入函数中,继续查询下级 
} 
$str .= '</ul>'; 
} 
return $str; 
} 
 
//通过不断向下查询的方法格式化无限级分类
function get_array($id=0){ 
$link = connect();
$sql = "select id,typename from wzb_cate where reid= $id"; 
$result = mysqli_query($link,$sql);//查询子类 
$arr = array(); 
if($result && mysqli_affected_rows($link)){//如果有子类 
while($rows = mysqli_fetch_assoc($result)){ //循环记录集 
$rows['0'] = get_array($rows['id']); //调用函数,传入参数,继续查询下级 
$arr[] = $rows; //组合数组 
} 
return $arr; 
} 
} 
 
 
/* 遍历下拉菜单 */
 
function getList($reid=0,&$arr=array(),$i=0){
$i=$i+6;
$link = connect();
 
$sql = "SELECT * FROM `wzb_cate` WHERE `reid`=$reid";
 
$result = mysqli_query($link,$sql);
 
while ($rows = mysqli_fetch_assoc($result)){
$rows['typename'] = str_repeat(" ", $i)."|--".$rows['typename'];
$arr[]=$rows;
getList($rows['id'],$arr,$i);
}
return $arr;
}
 
原创粉丝点击