By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,480 Members | 755 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,480 IT Pros & Developers. It's quick & easy.

Prevent duplicate record entry

P: n/a
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
<?php
$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.
Dec 21 '07 #1
Share this Question
Share on Google+
6 Replies


P: n/a

<te****@hotmail.comwrote in message
news:37**********************************@i3g2000h sf.googlegroups.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
<?php
$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?!!!
Dec 21 '07 #2

P: n/a
<te****@hotmail.comwrote in message
news:37**********************************@i3g2000h sf.googlegroups.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
<?php
$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.
Dec 21 '07 #3

P: n/a
On Dec 21, 2:57*am, "tes...@hotmail.com" <tes...@hotmail.comwrote:
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
<?php
$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.. ;)
Dec 21 '07 #4

P: n/a

"Betikci Boris" <pa*****@gmail.comwrote in message
news:c4**********************************@1g2000hs l.googlegroups.com...
On Dec 21, 2:57 am, "tes...@hotmail.com" <tes...@hotmail.comwrote:
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
<?php
$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!!!
Dec 21 '07 #5

P: n/a
Steve said:
"Betikci Boris" <pa*****@gmail.comwrote in message
news:c4**********************************@1g2000hs l.googlegroups.com...
On Dec 21, 2:57 am, "tes...@hotmail.com" <tes...@hotmail.comwrote:
>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
<?php
$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/a96524/c22integ.htm#1975

Or you could do a select count(*) (However oracle phrases it) where the
fields match.

~A!
Dec 23 '07 #6

P: n/a
On Dec 21, 12:57 am, "tes...@hotmail.com" <tes...@hotmail.comwrote:
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
<?php
$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.
Dec 23 '07 #7

This discussion thread is closed

Replies have been disabled for this discussion.