|
ci使用的是最新官网下载的2.1.4版本
下面是我在modles目录下文件中的三个操作数据库的函数
PHP复制代码 function add_user ($openID,$mac='')
{
$data = array('user_openid' => $openID,'user_mac' => $mac,'reg_time' => date("Y-m-d H:i:s"),);
$status = $this->user_status($openID);
if('ok'==$status){//mac 和openId都有说明可能是换手机了,需要重新绑定
$this->db->update('tb_weixin_user', array('user_mac' => $mac), array('user_openid' => $openID));
}else if('no_mac'==$status){//关注后没有mac,这次是认证添加,只更新mac地址
$this->db->update('tb_weixin_user', array('user_mac' => $mac), array('user_openid' => $openID));
}else if('no_user'==$status){
$this->db->insert('tb_weixin_user', $data);
}
}
function user_status ($openid)
{
$query=$this->db->get_where('tb_weixin_user', array('user_openid' => $openid));
$ret='';
if($query->num_rows()>0)
{
foreach($query->result() as $row)
{
if($row->user_mac ==''){
$ret='no_mac';
}else{
$ret='ok';
}
}
}else{
$ret='no_user';
}
return $ret;
}
function del_user ($oepnID)
{
$data = array('user_openid' => $oepnID);//比较要加上引号,
$this->db->delete('tb_weixin_user', $data);
}
//这是我在controllers中写的测试函数并通过浏览器测试可以通过
//调用时按下面方式调用多数时候都测试通过
public function is_auth ($mac)
{
$this->load->model('weixin_user');
echo $this->weixin_user->is_auth($mac);
}
public function del_user ($openID)
{
$this->load->model('weixin_user');
$this->weixin_user->del_user($openID);
echo $this->db->last_query();
}
public function add_user ($openID)
{
$this->load->model('weixin_user');
$this->weixin_user->add_user($openID);
echo $this->db->last_query();
}
复制代码
下面是我在浏览器中测试有时会出现下面问题,del的时候会丢掉两个字符
下面还有更让我想不明白的
我在这个 那三个测试函数的文件中添加一个函数
用下面两中方法调用都失败
PHP复制代码 //提示如下错误
//Query error: Unknown column 'oaw3DjtjpjnvQPXDJAepJjpM138k' in 'where clause' 而且这里和传进去的还少两个字符
//oaw3DjtjpjnvQPXDJAepJjpM138k是微信关注后的openID
//但是通过浏览器传参调用时没有这个错误
$this->db->where('uid',$id);
$this->db->delete('user');
//即使写成上面这种也还是报Query error: Unknown column 错误。 复制代码
求大哥指导一二,万分感谢
|
|