![사진 업로드 중...]
공개 함수 addUserBasicData($username,$password,$user_type,$email,$phone,$onlyuid = '598E0CD9'){
if (빈($username)) {
$username = "사용자".mt_rand();
}
$data['사용자 이름'] = $사용자 이름;
$data['onlyuid'] = $onlyuid;
$data['password'] = $password;
$data['user_type'] = $user_type;
$data['email'] = $이메일;
$data['phone'] = $phone;
$data['regdate'] = NOW_TIME;
$규칙 = 배열(
array('onlyuid','','중복된 ID',0,'unique',1),
array('phone','require','잘못된 휴대폰 번호','/^(13|14|15|16|17|18)\d{9}$$/'),
array('phone','','입력하신 휴대폰번호가 등록되었습니다!',0,'unique',1),
array('email','','입력하신 이메일 주소는 이미 등록되어 있습니다!',0,'unique',1),
array('password','require','아직 비밀번호를 입력하지 않으셨습니다!'),
array('user_type','require','사용자 유형을 선택하지 않았습니다!'),
array('repassword','password','비밀번호가 틀린지 확인하세요',0,'confirm'),
array('password','checkPwd','비밀번호 형식이 잘못되었습니다.',0,'function'),
);
if (!$this->table('yy_common_member')->validate($rules)->create()){
$return_value["status"] = "실패";
$return_value["status_code"] = 40000;
$return_value["status_message"] = $this->getError();;
$return_value["data"]= "";
$return_value를 반환합니다.
}또 다른{
$uid = $this->table('yy_common_member')->add($data);
$data2['uid'] = $uid;
$return_value["status"] = "성공";
$return_value["status_code"] = 20105;
$return_value["status_message"] = "";
$return_value["data"]= $this->table('yy_common_member_profile')->add($data2);
$return_value를 반환합니다.
}
}
위는
각각 설정된
코드 조각입니다.
array('onlyuid','','duplicate Identity',0,'unique',1) 및 array('phone','', ' 입력하신 휴대폰 번호는 이미 등록되어 있습니다. ',0,'unique',1),
에 대한 확인 규칙입니다.
그러나 전자는 적용되지 않으며 후자를 사용할 수 있습니다.
오류 보고
일반
< /스팬>
이것은 분명히 SQL 문에서 보고된 오류입니다. 삽입된 onlyuid가 반복됩니다.
데이터베이스에 있는 onlyuid 필드의 데이터 유형은 무엇입니까?
모두가 맞습니다. 이유는 데이터베이스에 있습니다. 중복된 onlyuid를 삽입하려고 하는데 이 필드는 분명히 고유하게 설정되어 있습니다.
확인하세요. 이 필드의 문자 그대로의 의미가 그다지 강하지 않은 경우 자동 증가 형식을 사용하는 것이 좋습니다. 데이터를 삽입할 때마다 이 필드를 직접 건너뛰지 말고 저절로 증가하도록 하세요.
이 필드에 삽입할 값이 최대 허용 값을 초과했을 가능성도 있습니다.