0

我正在使用 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' ) ; 
4

2 回答 2

3

好吧,我还没有从 mysql 返回错误,但如果 mysql 查询不正确,它将返回错误....您可以使用它来检查它是否实际添加或返回错误,如果出现错误 - 您可以相应地重定向- 它将需要 2 个以上的语句,而不仅仅是一个行语句。但据我所知,这是正确的方式

于 2012-04-16T13:57:02.457 回答
-1

mysql_affected_rows — 获取先前 MySQL 操作中受影响的行数

如果受影响的行数为零,则您知道插入语句不起作用。

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' )
}
于 2012-04-16T13:54:11.523 回答