我正在使用MySQL语句INSERT INTO将数据插入到我的表中。我有几个独特的字段,例如用户名和电子邮件。我想插入数据,但如果已经占用了一个唯一的字段(比如有人尝试使用已经存在的用户名),我想执行一个操作。
比如说重定向页面,或设置会话。目前,我的代码就像它插入一样,但显然什么也没做,因为该字段是唯一的。我已经尝试了下面的代码,但我没有运气。
// Add the data to the table 'users'
mysql_query("INSERT INTO users
(username, password, email, dob, gender) VALUES('$username', '$cleansedPassword', '$email', '$dob', '$gender') ")
or header( 'Location: index.php' ) ;
header( 'Location: SignUp.php' ) ;
好吧,
我没有处理从mysql返回错误的工作,但是如果mysql查询不正确,它将返回错误.... 您可以使用它来检查它是否实际添加或返回错误,如果出现错误 - 您可以相应地重定向 - 它将需要 2 多个语句,而不仅仅是一行语句。但据我所知,这是正确的方式
mysql_affected_rows — 获取先前 MySQL 操作中受影响的行数
如果受影响的行数为零,则表明 insert 语句不起作用。
mysql_query("INSERT INTO users
(username, password, email, dob, gender) VALUES('$username', '$cleansedPassword', '$email', '$dob', '$gender')");
if(mysql_affected_rows() == 0){
header( 'Location: index.php' )
}else{
header( 'Location: SignUp.php' )
}