2012-04-25 77 views
0

这是我的查询 -MySQL的插入 - 选择语法错误

$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); 

我得到这个错误在执行

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

但是当我在数据库中运行查询直接然后,我没有得到任何错误。 请帮帮我!

回答

3

php docu上'的mysql_query”


的mysql_query()发送唯一的查询(多个查询不支持)到当前的活动数据库...


所以基本上将你的查询分割成多个`mysql_query'调用,每个调用都有一个查询,你应该没问题。

+0

谢谢...它的工作! – Dharmesh 2012-04-25 13:14:30