Php 返回什么更好:null还是false?
所以我有注册的功能:Php 返回什么更好:null还是false?,php,function,null,Php,Function,Null,所以我有注册的功能: <?php function sign_up($login, $password, $email){ global $db; if(is_login_exist($login)){ return ['error' => 'Login already exists', 'result' => null]; } if(is_email_exist($email)){ return ['error' => 'Email alre
<?php
function sign_up($login, $password, $email){
global $db;
if(is_login_exist($login)){
return ['error' => 'Login already exists', 'result' => null];
}
if(is_email_exist($email)){
return ['error' => 'Email already exists', 'result' => null];
}
//hash password
$password = password_hash($password, PASSWORD_BCRYPT, ['cost' => 12]);
$stmt = $db->prepare("INSERT INTO users (login, password, email) VALUES (?, ?, ?)");
//add check
$stmt->bind_param("sss", $login, $password, $email);
$stmt->execute();
$stmt->close();
return ['error' => null, 'result' => 'success'];
}?>
因此,如果我在登录已经存在时遇到了错误,我将返回关联数组['error'=>'login ready exists','result'=>null]
问题:将“result”参数返回为null或false是否正确 我将返回:
状态=>'ok'/'error'
和可选的'error\u message'=>'message'
和'error\u code'=>0
,只要状态为error。但这只是我的观点 如果出现问题,我会抛出异常
function sign_up(mysqli $db, $login, $password, $email){
// hash password
$password = password_hash($password, PASSWORD_BCRYPT, ['cost' => 12]);
// try to insert
$stmt = $db->prepare("INSERT INTO users (login, password, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $login, $password, $email);
$stmt->execute();
return true;
}
要求:
- mysqli设置为在出现错误时引发异常=>
mysqli\u report()
- 在
和login
字段上有一个email
约束UNIQUE