affordit Posted January 12, 2008 Share Posted January 12, 2008 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(); // ----------------------------- ?> Quote Link to comment Share on other sites More sharing options...
twostars Posted January 12, 2008 Share Posted January 12, 2008 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. Quote Link to comment Share on other sites More sharing options...
Ken2k7 Posted January 12, 2008 Share Posted January 12, 2008 This line: mysql_connect(mysql,$username,$password); Is mysql a constant? If not, it needs to be in quotes. Quote Link to comment Share on other sites More sharing options...
twostars Posted January 12, 2008 Share Posted January 12, 2008 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. Quote Link to comment Share on other sites More sharing options...
affordit Posted January 12, 2008 Author Share Posted January 12, 2008 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. Quote Link to comment Share on other sites More sharing options...
twostars Posted January 12, 2008 Share Posted January 12, 2008 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 ); Quote Link to comment Share on other sites More sharing options...
affordit Posted January 12, 2008 Author Share Posted January 12, 2008 Thanks all Im new at this and it took me awhile to figure out what twostars was refering to but I got it. THANKS Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.