我想看看 username
已经存在并抛出一个错误消息如果存在,任何提示我怎么做?我已经试过找了,但只找到了 mysql_errno
但这对我没用。
if ($valid) {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//$password = md5($password);
$sql = "INSERT INTO users (username,password,role) values(?, ?, ?)";
$q = $pdo->prepare($sql);
$q->execute(array($username,$password,$role));
Database::disconnect();
header("Location: index.php");
}
标准差
4条答案
按热度按时间qyuhtwio1#
如果你想检查
username
已使用:如果返回一行:抛出错误,否则执行
INSERT
所以你的代码应该是这样的:现在有两种方法来检查是否有一行:
或
如果没有错误,请插入:
uemypmqf2#
如果发现显示错误,则插入
jyztefdp3#
vcudknz34#
两种解决方案:
您可以使username字段唯一,这样,如果您尝试插入一行现有用户名,mysql将抛出一个错误。
否则,使用所需的用户名进行选择,并查看是否返回(=已使用)行(=可用)。