php 数据库操作模块,简单方便易懂 ,PHP 添加,修改,查询,删除综合模块,MYSQL数据库连接
<?php $db['host']="localhost"; //数据库主机 $db['user']="root"; //数据库用户名 $db['password']="root"; //数据库密码 $db['database']="ku"; //数据库名 $db['pre']="biao"; //数据库表 date_default_timezone_set("PRC"); ////设置中国时区...date('Y-m-d H:i:s')."<br>";//中国标准时间 global $db; //全局变量 $link = mysqli_connect( $db['host'], $db['user'], $db['password'], $db['database']); if (!$link) { printf("无法连接数据库. 错误信息为: %s ", mysqli_connect_error()); exit; } else { mysqli_set_charset ($link,'utf8'); //防止中文乱码 } /*数据库操作模块*/ /*$action:操作方法*/ /*$table:表名*/ /*$values:数据*/ /*$if:条件*/ function sql($action,$table,$values,$if) { global $link; $rows=""; /*查询数据*/ if($action=="s") { $sql_str="SELECT ".$values." FROM ".$table." ".$if; } /*查询数据影响行数*/ if($action=="frow") { $sql_str="SELECT ".$values." FROM ".$table." ".$if; } /*删除数据*/ elseif($action=="d") { $sql_str="DELETE FROM ".$table." ".$if; } /*增加数据*/ elseif($action=="i") { $kv=get_key_value($values); $keys=$kv[0]; $values=$kv[1]; $sql_str="INSERT INTO ".$table." (".$keys.") VALUES (".$values.")"; } /*增加数据返回id*/ elseif($action=="addid") { $kv=get_key_value($values); $keys=$kv[0]; $values=$kv[1]; $sql_str="INSERT INTO ".$table." (".$keys.") VALUES (".$values.")"; } /*修改数据*/ elseif($action=="u") { $set_str=array(); $kv=get_key_value($values); $keys=explode(",",$kv[0]); //$values=explode(",",$kv[1]); foreach ($keys as $key) { if(stristr($values[$key],"///")) { //通过"///"规定提交结果为运算式,不加引号; $set_str[]=$key."=".str_replace("///","",$values[$key]); } else { $set_str[]=$key."='".$values[$key]."'"; } } $set_str=implode(",",$set_str); $sql_str="UPDATE ".$table." SET ".$set_str." ".$if; } //echo $sql_str."\n"; $result = mysqli_query($link, $sql_str); if($result=='0') { echo mysqli_error($link); } if ($action=="addid") { $result=mysqli_insert_id($link); } elseif ($action=='frow') { $result=mysqli_num_rows($result); } //$action=="s"&&$result?mysqli_free_result($result):null;//释放查询结果内存 //mysqli_close($link); //关闭数据库连接 /*输出结果 成功:非Select语句为True,Select直接返回结果;失败:返回False*/ if($action=="s"&&$result) { $num_results = mysqli_num_rows($result); //返回行数 while($row = mysqli_fetch_assoc($result)) { /*如果只有一行,直接返回一维数组 if($num_results==1) return $row; 如果有多行,累加进二维数组,并返回 else*/ $rows[]=$row; } $action=="s"&&$result?mysqli_free_result($result):null; return $rows; } else { return $result; } } /*Post信息键名和键值分开存储*/ function get_key_value($post) { $keys=array(); $values=array(); foreach($post as $k=>$v) { $keys[]=$k; $values[]="'".$v."'"; } $keys=implode(",",$keys); $values=implode(",",$values); return array($keys,$values); } function firstrow($res) { if($res) { foreach ($res as $info) { return $info; exit(); } } } function gv($bian,$nei) { if(isset($bian[$nei])) { return $bian[$nei]; } else { return ''; } }
调用方法 :
$res=sql("s","user","*","where user='".$_POST['user']."' or tel='".$_POST['tel']."' "); if ($res) { echo "<script>alert('用户名或电话已被使用,请重新注册');history.back();</script>"; } else { $res=sql("s","user","*","where user='".$_POST['superior']."'"); S为查询数据 $info=firstrow($res); $data=array( 'qq'=>$_POST['qq'], 'tel'=>$_POST['tel'], 'user'=>$_POST['user'], 'email'=>$_POST['email'], 'superior'=>$_POST['superior'], 'pwd'=>md5($_POST['pwd']), 'zhifubao'=>$_POST['zhifubao'], 'xingming'=>$_POST['xingming'], 'sup_qq'=>gv($info,"qq"), 'time'=>date('Y-m-d H:i:s') ); $res=sql("i","user",$data,""); $data=array("next_num"=>gv($info,"next_num")+1); //gv($info,"next_num")也就是相当于$info["next_num"] $res=sql("u","user",$data,"where user='".$_POST['superior']."'"); echo "<script>alert('注册成功,请登录!'); window.location.href='/index.php';</script>"; }