函数封装
// mysql.php
<meta charset="utf8">
<?php
/**
* @return resource 连接成功,返回资源
*/
function mConn() {
static $conn = null;
if($conn == null) {// 说明第一次调用
$conn = mysql_connect('localhost', 'root', '');
mysql_query('use blog', $conn);
mysql_query('set names utf8', $conn);
}
return $conn;
}
/**
* 查询的函数
* @return mixed resource/Boolean
*/
function mQuery($sql) {
return mysql_query($sql, mConn());
}
/**
* select 查询多行数据
* @param str $sql select 待查询的sql语句
* @return mixed select 查询成功返回一个二维数组,失败返回Boolean false
*/
function mGetAll($sql) {
$rs = mQuery($sql);
if( !$rs ) {// false
return false;
}
$data = array();
while( $row=mysql_fetch_assoc($rs) ) {
$data[] = $row;
}
return $data;
}
// $sql = "select * from cat";
// print_r( mGetAll($sql) );
/**
* select 取出一行数据
* @param str $sql 待查询的sql语句
* @return arr/false 查询成功 返回一个一维数组
*/
function mGetRow($sql) {
$rs = mQuery($sql);
if( !$rs ) {
return false;
}
return mysql_fetch_assoc($rs);// 返回一行的数据就不用循环了
}
// $sql = "select * from cat where cat_id=3";
// print_r(mGetRow($sql));
/**
* select 查询返回一个结果
* @param str $sql 待查询的select语句
* @return mixed 成功,返回结果,失败返回Boolean false
*/
function mGetOne($sql) {
$rs = mQuery($sql);
if( !$rs ) {// false
return false;
}
return mysql_fetch_row($rs)[0];
}
// $sql = "select count(*) from art where cat_id=2";// cat_id 类目
// print_r(mGetOne($sql));
// insert into cat (id, catname) values ('6', 'test')
/**
* 自动拼接insert 和 update sql语句,并且调用mQuery()去执行 sql
* @param str $table 表名
* @param arr $data 接收到的数据是一维数组
* @param str $act 动作 默认为insert
* @param str $where 防止update更改时少加where条件
* @return Boolean insert or update success or faild
*/
function mExec($table, $data, $act='insert', $where=0) {
if($act == 'insert') {
// implode 数组转字符串
$sql = "insert into $table(";
$sql .= implode(',', array_keys($data)) . ") values ('";
$sql .= implode("','",array_values($data)) . "')";
return mQuery($sql);
}
else if($act == "update") {
$sql = "update $table set ";
foreach($data as $k => $v) {
$sql .= $k . "='" .$v . "',";
}
$sql = rtrim($sql, ',') . " where " . $where;// 去掉最后一个多余的逗号
// echo $sql;
return mQuery($sql);
}
}
$data = array('title' => '今天的空气', 'content' => '空气质量堪忧', 'pubtime' => 123456, 'author' => 'Aaayang');
// insert into art(title, content, pubtime, author) values ('今天的空气', '空气质量堪忧', '123456', 'Aaayang');
// update art set title='今天的空气', content='空气质量堪忧', pubtime='123456', author='Aaayang' where art_id=1;
// echo mExec('art', $data, 'update', "art_id=1");
/**
* 取得上一步insert操作产生的主键ID
*/
function getLastId() {
return mysql_insert_id(mConn());
}
?>
连接数据库
网友评论