Jump to content

[SOLVED] geting duplicate records with one insert - help


affordit

Recommended Posts

I am inserting into two tables with one insert but I am getting two records in the first table and one in the other.

 

Here is the code

<?

include("k_falls_dbinfo2.inc.php");

mysql_connect(mysql,$username,$password);

@mysql_select_db($database) or die( "Unable to select database");

 

$query = "INSERT INTO products VALUES ('','$bname','$sphone','$category','$upc','$brand','$model','$description','$extra','$price','$website')";

mysql_query($query);

$result = mysql_query( $query );

 

#  if the user submitted a CATEGORY

if( isset($category) )

{

  #  get the user id 

  $id = mysql_insert_id( );

 

  #  and insert the CATEGORY details

  $query = "INSERT INTO categories VALUES ('$id','$category')";

  $result = mysql_query( $query );

}

mysql_free_result( $result );

mysql_close();

// -----------------------------

 

?>

 

I am inserting into two tables with one insert but I am getting two records in the first table and one in the other.

 

Here is the code

<?

include("k_falls_dbinfo2.inc.php");

mysql_connect(mysql,$username,$password);

@mysql_select_db($database) or die( "Unable to select database");

 

$query = "INSERT INTO products VALUES ('','$bname','$sphone','$category','$upc','$brand','$model','$description','$extra','$price','$website')";

mysql_query($query);

$result = mysql_query( $query );

 

#  if the user submitted a CATEGORY

if( isset($category) )

{

  #  get the user id 

  $id = mysql_insert_id( );

 

  #  and insert the CATEGORY details

  $query = "INSERT INTO categories VALUES ('$id','$category')";

  $result = mysql_query( $query );

}

mysql_free_result( $result );

mysql_close();

// -----------------------------

 

?>

 

	mysql_query($query);
$result = mysql_query( $query );

 

You're executing it twice.

This line:

mysql_connect(mysql,$username,$password);

 

Is mysql a constant? If not, it needs to be in quotes.

Due to the fact that he said it was INSERTing rows, I'm assuming the connection is 100% okay.

Missed

	mysql_query($query);
$result = mysql_query( $query );

When going through it twice.

 

When testing, I also noted that the ID couldn't be retrieved. Probably just how my temporary table was set out, but all looked fine.

So, I wrote the query explicitly. ID is now retrieved.

 

	$query = "INSERT INTO products (bname, sphone, category, upc, brand, model, description, extra, price, website) VALUES ('$bname','$sphone','$category','$upc','$brand','$model','$description','$extra','$price','$website')";

 

Obviously change the column names. ;)

When my customers enter a new product they enter a category for that product.

When the query runs it inserts the product and checks to see if a category was entered and if it was it inserts it into the other table.

 

But for some reason it inserts the product twice.

 

When my customers enter a new product they enter a category for that product.

When the query runs it inserts the product and checks to see if a category was entered and if it was it inserts it into the other table.

 

But for some reason it inserts the product twice.

 

As I've already said, you're executing the same INSERT query twice:

--v

	mysql_query($query);
$result = mysql_query( $query );

 

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.