1.请问MySQL数据库字段如果设置unique或不not null等约束条件,如果插入数据不符合约束条件,php怎样获取相应的报错信息?例如我想让用户名唯一,注册保存时数据库中已经存在相同的用户名,数据库会报错吗?,报错的话怎样获取相应的错误信息?
2.如果要限制用户名唯一,是通过数据库中字段约束控制好,还是在代码中控制比较合适?
抱歉,是我表达不清,我是php初学者,目前接触laravel框架,知道框架可以通过$request进行表单过滤,只是好奇为什么数据库具有字段唯一的功能,有时候还要用框架的功能去判断字段是否唯一?
1.可以用异常捕获
try{
//对数据库的操作
}catch(PDOException $e){
$e->getMessage(); //获取异常的信息
}
2.使用Validate的unqiue去判断
$input = $request->all();
$rules = [
'title' => 'required|unique:表名',
];
$attrs = [
'title' => '文章标题',
];
$validator = Validator::make($input, $rules, [], $attrs);
if ($validator->fails()) {
$mess = $validator->errors()->getMessages();
//会自动帮你捕获信息
}