Prevent duplicate record entry
Prevent duplicate record entry
am 21.12.2007 01:57:52 von teser3
I have my PHP inserting into Oracle 9i.
But how do I prevent duplicate record entries?
I only have 3 fields in the insert in the action page:
CODE
$c=OCILogon("scott", "tiger", "orcl");
if ( ! $c ) {
echo "Unable to connect: " . var_dump( OCIError() );
die();
}
$s = OCIParse($c, "INSERT INTO personTable
(firstname,lastname,emailaddress) VALUES
($_POST[firstname],'$_POST[lastname]','$_POST[emailaddress]' ");
OCIExecute($s, OCI_DEFAULT);
echo "Record successfully entered";
?>
How do I prevent duplicate record info and show the user they entered
duplicate info.
Re: Prevent duplicate record entry
am 21.12.2007 05:49:10 von Steve
wrote in message
news:37529850-5b2a-4f25-90e7-8db269679baa@i3g2000hsf.googleg roups.com...
>I have my PHP inserting into Oracle 9i.
> But how do I prevent duplicate record entries?
>
> I only have 3 fields in the insert in the action page:
>
> CODE
>
> $c=OCILogon("scott", "tiger", "orcl");
> if ( ! $c ) {
> echo "Unable to connect: " . var_dump( OCIError() );
> die();
> }
>
> $s = OCIParse($c, "INSERT INTO personTable
> (firstname,lastname,emailaddress) VALUES
> ($_POST[firstname],'$_POST[lastname]','$_POST[emailaddress]' ");
> OCIExecute($s, OCI_DEFAULT);
> echo "Record successfully entered";
> ?>
>
>
> How do I prevent duplicate record info and show the user they entered
> duplicate info.
gee, you could just delete any record that may exist for that first/last
name and email address. or, you could query the table to see if the record
existed. this is not only such an RTFM question, it's also a brainless one.
and let me guess, you're the kind who's code is littered with meaningful
variables like $tmp...right?!!!
Re: Prevent duplicate record entry
am 21.12.2007 11:43:41 von pritaeas
wrote in message
news:37529850-5b2a-4f25-90e7-8db269679baa@i3g2000hsf.googleg roups.com...
>I have my PHP inserting into Oracle 9i.
> But how do I prevent duplicate record entries?
>
> I only have 3 fields in the insert in the action page:
>
> CODE
>
> $c=OCILogon("scott", "tiger", "orcl");
> if ( ! $c ) {
> echo "Unable to connect: " . var_dump( OCIError() );
> die();
> }
>
> $s = OCIParse($c, "INSERT INTO personTable
> (firstname,lastname,emailaddress) VALUES
> ($_POST[firstname],'$_POST[lastname]','$_POST[emailaddress]' ");
> OCIExecute($s, OCI_DEFAULT);
> echo "Record successfully entered";
> ?>
>
>
> How do I prevent duplicate record info and show the user they entered
> duplicate info.
In my opinion you should correctly use unique indexes on your table. That
way the query will return an error which you can then catch and return to
the user.
Re: Prevent duplicate record entry
am 21.12.2007 17:54:08 von Betikci Boris
On Dec 21, 2:57=A0am, "tes...@hotmail.com" wrote:
> I have my PHP inserting into Oracle 9i.
> But how do I prevent duplicate record entries?
>
> I only have 3 fields in the insert in the action page:
>
> CODE
>
> $c=3DOCILogon("scott", "tiger", "orcl");
> =A0 if ( ! $c ) {
> =A0 =A0 echo "Unable to connect: " . var_dump( OCIError() );
> =A0 =A0 die();
> =A0 }
>
> $s =3D OCIParse($c, "INSERT INTO personTable
> (firstname,lastname,emailaddress) VALUES
> ($_POST[firstname],'$_POST[lastname]','$_POST[emailaddress]' ");
> OCIExecute($s, OCI_DEFAULT);
> echo "Record successfully entered";
> ?>
>
> How do I prevent duplicate record info and show the user they entered
> duplicate info.
You have to compare the entries considering the time, the remote
address and the values, if all the same (for time consider seconds
indeed) it will show a possible sql injection first entry must be
saved the other must be deleted.. Rest is few scripting.. ;)
Re: Prevent duplicate record entry
am 21.12.2007 18:26:42 von Steve
"Betikci Boris" wrote in message
news:c4a99ce2-fed1-4c4b-b6c1-b27167e23bd9@1g2000hsl.googlegr oups.com...
On Dec 21, 2:57 am, "tes...@hotmail.com" wrote:
> I have my PHP inserting into Oracle 9i.
> But how do I prevent duplicate record entries?
>
> I only have 3 fields in the insert in the action page:
>
> CODE
>
> $c=OCILogon("scott", "tiger", "orcl");
> if ( ! $c ) {
> echo "Unable to connect: " . var_dump( OCIError() );
> die();
> }
>
> $s = OCIParse($c, "INSERT INTO personTable
> (firstname,lastname,emailaddress) VALUES
> ($_POST[firstname],'$_POST[lastname]','$_POST[emailaddress]' ");
> OCIExecute($s, OCI_DEFAULT);
> echo "Record successfully entered";
> ?>
>
> How do I prevent duplicate record info and show the user they entered
> duplicate info.
You have to compare the entries considering the time, the remote
address and the values, if all the same (for time consider seconds
indeed) it will show a possible sql injection first entry must be
saved the other must be deleted.. Rest is few scripting.. ;)
WHAT?!!!
time and remote address have *nothing* to do with duplicate entries, nor do
they have ANYTHING to do with sql injections!!!
Re: Prevent duplicate record entry
am 23.12.2007 07:35:41 von My Pet Programmer
Steve said:
> "Betikci Boris" wrote in message
> news:c4a99ce2-fed1-4c4b-b6c1-b27167e23bd9@1g2000hsl.googlegr oups.com...
> On Dec 21, 2:57 am, "tes...@hotmail.com" wrote:
>> I have my PHP inserting into Oracle 9i.
>> But how do I prevent duplicate record entries?
>>
>> I only have 3 fields in the insert in the action page:
>>
>> CODE
>>
>> $c=OCILogon("scott", "tiger", "orcl");
>> if ( ! $c ) {
>> echo "Unable to connect: " . var_dump( OCIError() );
>> die();
>> }
>>
>> $s = OCIParse($c, "INSERT INTO personTable
>> (firstname,lastname,emailaddress) VALUES
>> ($_POST[firstname],'$_POST[lastname]','$_POST[emailaddress]' ");
>> OCIExecute($s, OCI_DEFAULT);
>> echo "Record successfully entered";
>> ?>
>>
>> How do I prevent duplicate record info and show the user they entered
>> duplicate info.
I'm no Oracle guru, but don't they have primary keys? Hell, if all you
want is to prevent dupes, make all three fields a combined key.
http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a 96524/c22integ.htm#1975
Or you could do a select count(*) (However oracle phrases it) where the
fields match.
~A!
Re: Prevent duplicate record entry
am 23.12.2007 11:49:09 von gordon
On Dec 21, 12:57 am, "tes...@hotmail.com" wrote:
> I have my PHP inserting into Oracle 9i.
> But how do I prevent duplicate record entries?
>
> I only have 3 fields in the insert in the action page:
>
> CODE
>
> $c=OCILogon("scott", "tiger", "orcl");
> if ( ! $c ) {
> echo "Unable to connect: " . var_dump( OCIError() );
> die();
> }
>
> $s = OCIParse($c, "INSERT INTO personTable
> (firstname,lastname,emailaddress) VALUES
> ($_POST[firstname],'$_POST[lastname]','$_POST[emailaddress]' ");
> OCIExecute($s, OCI_DEFAULT);
> echo "Record successfully entered";
> ?>
>
> How do I prevent duplicate record info and show the user they entered
> duplicate info.
Just put a unique first name/last name constraint on your table. Go to
an SQL related group to find out how, or better yet read the manual.