开发者

If duplicate key, how do I determine which primary key (multi) triggered it

I'm building a simple signup application on my website with user database. I'm using PHP and MySQL. I want take in "username" and "email". Both are primary keys in my database. I obviously don't want the same of either. How can I provide feedback to the user if a) the username is already taken and b) the email is already used. I know I can do a query on both but I thought this may be redundant (2 searches and an insert). Is there a way to receive feedback from MySQL if I try to insert on a duplicate key. As in, this it he field that failed on the insert. If not, what i开发者_StackOverflows the best way/practice to do this?

Thanks all.


The best you can do is execute the below:

$result = mysql_query( "insert into yourtable (`username`, `email`) values ('usernamesubmitted','emailsubmitted')");
if (!$result) {
      die('Invalid query: ' . mysql_error());
}

The assumption here is that the insert query will fail if one of the fields to be inserted is a primary key and is being duplciated. In which case....output a message- the message will contain the max info you could get in this situation, you can then handle it as appropriate

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜