Jump to content


Photo

MySql help - need to prevent the duplication of information when inserting to DB


  • Please log in to reply
4 replies to this topic

#1 9911782

9911782
  • Members
  • PipPipPip
  • Advanced Member
  • 39 posts

Posted 03 August 2006 - 07:05 AM

Hi
Im am doing the web-based application, where I have to add some information from front-end, and then add it to the database. Now, I would like to get the MySQL statement that will prevent me from adding same thing in 1 table.

Please help me, I need to do this by end of today.

thank you

#2 manmadareddy

manmadareddy
  • Members
  • PipPipPip
  • Advanced Member
  • 50 posts

Posted 03 August 2006 - 08:46 AM

I hope u need only some fields which are not replicated I mean unique like email.
first identify those fields and just write a select query .
$sql="select count(*) as cnt from tablename where email!='".$_REQUEST['email']."'";
//you can add if you need to check another fields too like $sql." and fname!='".$_REQUEST['fname']."'";
$res=mysql_query($sql);
$result=mysql_fetch_assoc($res);
if(!$result['cnt'])
{
  //here insert statement
}else
{
  //email already exists error message
//same form with $_REQUEST fields filled
}

#3 9911782

9911782
  • Members
  • PipPipPip
  • Advanced Member
  • 39 posts

Posted 03 August 2006 - 12:35 PM

Hi manmadareddy

its working right now, thank you very much. I took ur advise.

thanks a million.

#4 fenway

fenway
  • Staff Alumni
  • MySQL Si-Fu / PHP Resident Alien
  • 16,199 posts
  • LocationToronto, ON

Posted 03 August 2006 - 02:27 PM

I'm sorry to say that it's not very good advice... first, never use !=, because no index will be able to utilized.  Second, you don't need to fetch the rows at all... simply use mysql_num_rows() and see if you get back anything.  Third, depending on the application, a UNIQUE KEY restriction on the column is often the better way to go.
Seriously... if people don't start reading this before posting, I'm going to consider not answering at all.

#5 manmadareddy

manmadareddy
  • Members
  • PipPipPip
  • Advanced Member
  • 50 posts

Posted 04 August 2006 - 04:57 AM

Yeah! you are right..I am very sorry for my bad suggestion.
You have given good suggestions for me.
I am very much thankful to you.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users