bcamp1973 Posted August 11, 2006 Share Posted August 11, 2006 Is this not acceptable?[code]foreach($_POST['category'] as $value) { mysql_query("INSERT INTO table (field) VALUES ($value) WHERE $value NOT IN ($old)");}[/code]in this case $old is 1 or more values separated by commas... I'm getting the following error...[code]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE 25 NOT IN (25))' at line 1[/code] Quote Link to comment Share on other sites More sharing options...
Ninjakreborn Posted August 11, 2006 Share Posted August 11, 2006 INSERT INTO table (field) VALUES ($value) WHERE $value1 NOT IN ($old));after old you have an extra ) that doesn't seem to be needed, and I am not familiar with using NOT IN, but either way that ) at the very end should be removed. Quote Link to comment Share on other sites More sharing options...
bcamp1973 Posted August 11, 2006 Author Share Posted August 11, 2006 actually, that's a typo when i posted the message, but good catch! i wish that was the problem tho... Quote Link to comment Share on other sites More sharing options...
wildteen88 Posted August 11, 2006 Share Posted August 11, 2006 Well with the WHERE Clasuse I'm sure you are supposed to have a column name and not a value from a column.Like:INSERT INTO table (field) VALUES ($value) WHERE col_name=$value1You cannot use a column value on its own.i'm moving this to the MySQL Help forum. Quote Link to comment Share on other sites More sharing options...
bcamp1973 Posted August 11, 2006 Author Share Posted August 11, 2006 ok, i think maybe i'm not getting the proper use of IN/NOT IN. I thought (in this case) i could use it to check against a list of already entered values (which have been pulled from a previous query) to make duplicates aren't entered in the database. Basically i have a page with a bunch of checkboxes on it. if records exist in the database taht correspond to a checkbox then it's check. on submission, i don't want that to be inserted again as a duplicate record? does that make any sense? :( Quote Link to comment Share on other sites More sharing options...
fenway Posted August 12, 2006 Share Posted August 12, 2006 Well, if you have an appropriate unique key index, you can use INSERT IGNORE. 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.