修正了SQL错误

This commit is contained in:
wlx 2010-11-08 02:08:31 +00:00
parent c4c8d81cab
commit 10bef61f56
1 changed files with 12 additions and 16 deletions

View File

@ -14,12 +14,11 @@ class Proftp
$u=$this->db->fetchRow($sql); $u=$this->db->fetchRow($sql);
if (empty($u)) if (empty($u))
{ {
$sql=$this->db->quoteInto("insert into proftpusers (userid,passwd,uid,gid,homedir) values(?,?,109,1002,?)",$user->username,$user->userpass,'/home/ftp/'.$user->username); //$sql="insert into proftpusers (userid,passwd,uid,gid,homedir) values(?,?,109,1002,?)";
//$this->db->query($sql,array($user->username,$user->password,'/home/ftp/'.$user->username));
$sql="insert into proftpusers (userid,passwd,uid,gid,homedir) values('".$user->username."','".$user->password."',109,1002,'".'/home/ftp/'.$user->username."')";
$this->db->query($sql); $this->db->query($sql);
$sql=$this->db->quoteInto("select pkid from proftpusers where userid=?",$user->username); }
$a=$this->db->fetchRow($sql);
$userid = $a['pkid'];
} else $userid=$u['id'];//g6ftp中的用户ID非系统的用户ID
$this->pwd=$user->password;//初始化 $this->pwd=$user->password;//初始化
$this->time=$user->time; $this->time=$user->time;
//判断用户密码是否失效,或用户一次下载数据已经达到上限 //判断用户密码是否失效,或用户一次下载数据已经达到上限
@ -29,23 +28,20 @@ class Proftp
//插入ftpuser信息 //插入ftpuser信息
$sql="insert into ftpuser (userid,pwd,ts_created,ts_invalid,datacount) values(?,?,now(),?,1)"; $sql="insert into ftpuser (userid,pwd,ts_created,ts_invalid,datacount) values(?,?,now(),?,1)";
$this->db->query($sql,array($user->id,$user->password,$user->time)); $this->db->query($sql,array($user->id,$user->password,$user->time));
//todo: create users home directory
return true; return true;
} elseif (strtotime($u['ts_invalid'])<=time() or $u['datacount']<1) { } elseif (strtotime($u['ts_invalid'])<=time() or $u['datacount']<1) {
//更新用户密码、数据地址和数据计数 //更新用户密码和数据计数
//数据地址覆盖原来的信息 $sql="update proftpusers set passwd='".$user->password."' where userid='".$user->username."'";
//todo: 重置用户目录下的可用文件/目录。 //$this->db->query($sql,array($user->password,$user->username));
$sql=$this->db->quoteInto("update proftpusers set passwd=? where userid=?",$user->password,$user->username);
$this->db->query($sql); $this->db->query($sql);
$sql="update ftpuser set pwd=?,ts_created=now(),ts_invalid=?,datacount=1 where userid=?"; $sql="update ftpuser set pwd=?,ts_created=now(),ts_invalid=?,datacount=1 where userid=?";
$this->db->query($sql,array($user->password,$user->time,$user->id)); $this->db->query($sql,array($user->password,$user->time,$user->id));
return true; return true;
} elseif (strtotime($u['ts_invalid'])>time() && $u['datacount']<$user->maxdata) { } elseif (strtotime($u['ts_invalid'])>time() && $u['datacount']<$user->maxdata) {
//更新数据地址和数据计数 //更新数据计数
//数据地址要追加在原来的后面 //use the old password
//需要判断数据是否已经在下载进程中 $sql="update ftpuser set ts_invalid=?,datacount=datacount+? where userid=?";
$sql="update ftpuser set ts_invalid=?,datacount=? where userid=?"; $this->db->query($sql,array($user->time,$user->datacount,$user->id));
$this->db->query($sql,array($user->time,$user->datacount+1,$user->id));
$sql="select pwd,ts_invalid from ftpuser where userid=?"; $sql="select pwd,ts_invalid from ftpuser where userid=?";
$u=$this->db->fetchRow($sql,array($user->id)); $u=$this->db->fetchRow($sql,array($user->id));
$this->pwd=$u['pwd']; $this->pwd=$u['pwd'];