2012-04-25 2 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() посылает уникальный запрос (множество запросов не поддерживаются) к текущей активной базе данных ...


So в основном разделить ваши запросы на несколько вызовов `mysql_query ', каждый с одним запросом, и все должно быть в порядке.

+0

спасибо ... это сработало! – Dharmesh