This is my query –
$q = "CREATE TEMPORARY TABLE tmp SELECT * from category c WHERE category_id IN (SELECT category_id FROM category_to_store WHERE store_id = '".(int)$from_store_id."');
ALTER TABLE tmp drop category_id;
INSERT INTO category SELECT 0,tmp.* FROM tmp;
SET @last_id_in_category := LAST_INSERT_ID();
select @last_id_in_category;
DROP TABLE tmp;"
mysql_query($q);
I am getting this error on execution
Error: 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 ‘ALTER TABLE tmp drop category_id; INSERT INTO category SELECT 0’
at line 2 Error No: 1064
But when I run the query in database directly then I am not getting any error.
Please help me !
From the php docu on `mysql_query’
mysql_query() sends a unique query (multiple queries are not supported) to the currently active database …
So basically split your queries to multiple calls of `mysql_query’ each with a single query and you should be fine.