![画像をアップロード中...]
public function addUserBasicData($username,$password,$user_type,$email,$phone,$onlyuid = '598E0CD9'){
if (空($ユーザー名)) {
$username = "ユーザー".mt_rand();
}
$data['ユーザー名'] = $ユーザー名;
$data['onlyuid'] = $onlyuid;
$data['パスワード'] = $パスワード;
$data['user_type'] = $user_type;
$data['email'] = $email;
$data['phone'] = $phone;
$data['regdate'] = NOW_TIME;
$rules = 配列(
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('パスワード','checkPwd','パスワードの形式が正しくありません',0,'関数'),
);
if (!$this->table('yy_common_member')->validate($rules)->create()){
$return_value["ステータス"] = "失敗";
$return_value["ステータスコード"] = 40000;
$return_value["status_message"] = $this->getError();;
$return_value["データ"]= "";
$return_value を返します。
}それ以外{
$uid = $this->table('yy_common_member')->add($data);
$data2['uid'] = $uid;
$return_value["ステータス"] = "成功";
$return_value["ステータスコード"] = 20105;
$return_value["ステータスメッセージ"] = "";
$return_value["data"]= $this->table('yy_common_member_profile')->add($data2);
$return_value を返します。
}
}
上記はコード スニペットです
それぞれ設定された
array('onlyuid','','duplicate id',0,'unique',1) および array('phone','', ' 入力した携帯電話番号はすでに登録されています! ',0,'unique',1)、
の確認ルール。
ただし、前者は有効になりませんが、後者は使用できます
エラー報告
通常
< /スパン>
これは明らかに SQL ステートメントによって報告されるエラーであり、挿入された唯一の uid が繰り返されます。
データベースのonlyuidフィールドのデータ型は何ですか?
誰もが正しいです。理由はデータベースにあり、重複したonlyuidを挿入しようとしていますが、このフィールドは明らかに一意に設定されています。
このフィールドの文字通りの意味があまり強くない場合は、データを挿入するたびにこのフィールドを直接スキップして自動的に増加させるのではなく、自動インクリメント フォームを使用することをお勧めします。
このフィールドに挿入される値が最大許容値を超えている可能性もあります。