[ECShop]数据库类和操作方法示例代码

有人说一个程序最常用的操作就是对数据库的增删改查,我觉得说的也挺有道理的。所以,在对一个开源程序二次开发时,首先要对该程序的db类熟悉,对数据库的增删改查操作代码熟练掌握。

最近我一直在整一个基于ECShop的商城系统,虽然还没有特别需要二开的东西,但确实有些地方不太合适,今后可能需要二次开发。我也找到了写ECShop二次开发的视频教程学习,从中也学习到了常用的数据库操作方法的使用。总结如下,备用。

ECShop数据库操作代码

ECShop数据库操作类

这个文件在 网站目录\www\ECShop\includes\cls_mysql.php,具体实现代码可以查看该文件。

ECShop数据库操作方法代码

结合ECShop二次开发一些常见的开发例子,总结 ECShop的数据库类和方法,进一步熟练 ECShop数据库的操作 和 ECShop的增删改查

1:ecshop的数据库类实例子化对象为$db;表的实例化对象为$ecs。

2:获取某一行的数据:getRow()方法、getOne()方法。

$row = $db-> getRow();  

例:

$sql = 'select * from category where cat_id = '.$cat_id;
$cat = $db->getRow($sql);

3:获取某个表中多行数据:getAll()方法

$res =$db -> getAll();

例:

$sql = 'select cat_id,cat_name,parent_id from category';
$catlist = $db->getAll($sql);

4:获取某一列的值:getCol()方法

$res = $db->getCol();

例:

$sql = "SELECT user_name FROM " . $ecs->table('users') . " WHERE user_id " . db_create_in($_POST['checkboxes']);
$col = $db->getCol($sql);

5:获取指定的位置的几条数据:使用selectLimit()

比如取得从第10行起的5条数据

$db -> selectLimit($sql , 10 , 5);

6:修改和新增一条数据:autoExecute()方法,而且必须是一个数组。

$db->autoExecute($ecs->table('link_goods'), $row , 'INSERT');//默认为Insert数据。也可以使用UPDATE

例:

$cat = array();
$cat['cat_name'] = trim($_POST['cat_name']);
$cat['parent_id'] = $_POST['parent_id'] + 0;
$cat['keywords'] = trim($_POST['keywords']);
$cat['cat_desc'] = trim($_POST['cat_desc']);
$db->autoExecute('category',$cat);//新增数据
$db->autoExecute('category',$cat,'update',' cat_id='.$cat_id);//修改数据

7:获得一个值得:使用getOne()

例1:

$name = $db -> getOne("select user_name from".$ecs->table('users')." where user_id = 1");

例2:

$sql = " select count(*) from user where user_name = '$user_name'";
if($db->getOne($sql)) {
    show_message('用户名已经占用','点击返回');
    exit;
}

8:执行修改和删除数据:query()方法。

例1:

$db -> query("update".$ecs->table('users')." setuser_name  = '222' where user_id = 33");

例2:

$sql = "insert into user (user_name,email,passwd,reg_time) "
$sql.=" values ('$user_name','$email','$passwd',$reg_time)";
$db->query($sql);

分享到:更多 ()

163

评论前必须登录!