一。inserttable
//添加数据
//前3个参数 $tablename插入的表名称 $insertsqlarr数据数组 $returnid是否返回插入ID
function inserttable($tablename, $insertsqlarr, $returnid=0, $replace = false, $silent=0) {
global $_SGLOBAL; $insertkeysql = $insertvaluesql = $comma = '';
foreach ($insertsqlarr as $insert_key => $insert_value) {
$insertkeysql .= $comma.'`'.$insert_key.'`';
$insertvaluesql .= $comma.'\''.$insert_value.'\'';
$comma = ', ';
}
$method = $replace?'REPLACE':'INSERT';
$_SGLOBAL['db']->query($method.' INTO '.tname($tablename).' ('.$insertkeysql.') VALUES ('.$insertvaluesql.')', $silent?'SILENT':'');
if($returnid && !$replace) {
return $_SGLOBAL['db']->insert_id();
}
}
插入和更新数据的方式也非常简单,不用你自己拼接sql,以插入数据为例:
function inserttable($tablename, $insertsqlarr, $returnid=0, $replace = false)
我们插入员工信息,则可以这样写:
inserttable('staffs',array('name'=>'hankshuang','post'=>'de','age'=>25))
二。cache_write
提供缓存的写入和更新,最重要的方法就是cache_write方法,看看声明:
function cache_write($name, $var, $values)
如果我想把员工数据缓存起来,那么对于$staff = array('name'=>'hankshuang','age'=>25)就调用方法
cache_write('staffcache','staff',$staff)
下次想用这个内容的话,直接include data目录下的这个data_staffcache.php文件,就得到$staff这个对象了,原理简单,用起来却很方便.
三。realname_set
//获取用户名
function realname_set($uid, $username, $name = '', $namestatus = 0)
{
global $_SGLOBAL, $_SN, $_SCONFIG;
if ($name) {
$_SN[$uid] = ($_SCONFIG['realname'] && $namestatus) ? $name : $username;
} elseif (empty($_SN[$uid])) {
$_SN[$uid] = $username;
$_SGLOBAL['select_realname'][$uid] = $uid; //需要检索
}
}
顾名思义,第一个参数是uid,也就是用户的uid,第二个参数是用户名,
第三个参数是指如果$_SCONFIG['realname'] 打开了,而且传进来了昵称,我们将强制更新$_SN【uid】。
如果,没有传递第三个,就先判定$_SN【$UID】有没有,没有的话,才更新,有的话,就不更新,
登录do_login.php示例:
realname_set($space['uid'], $space['username'], $space['name'], $space['namestatus']);