2013-02-22 3 views
0

у меня есть какие-либо команды SQL для создания резервной копии из полой таблицы и я использую эту команду bewlow в PHPMyAdmin:несколько команд SQL не работают в PHP

SQL:

CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM sale_khomsi; 
UPDATE tmptable_1 SET id= NULL , faal= 1; 
INSERT INTO sale_khomsi SELECT * FROM tmptable_1; 
DROP TEMPORARY TABLE IF EXISTS tmptable_1; 

этой работе правильно но после того, как подножка этой команды в PHP код такого аз:

PHP:

$reslut=mysql_query("CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM sale_khomsi; 
UPDATE tmptable_1 SET id= NULL , faal= 1; 
INSERT INTO sale_khomsi SELECT * FROM tmptable_1; 
DROP TEMPORARY TABLE IF EXISTS tmptable_1;"); 

не работает.

результат MYSQL в PhpMyAdmin:

CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM sale_khomsi;# 4 rows affected. 
UPDATE tmptable_1 SET id= NULL , faal= 1;# 4 rows affected. 
INSERT INTO sale_khomsi SELECT * FROM tmptable_1;# 4 rows affected. 
DROP TEMPORARY TABLE IF EXISTS tmptable_1;# MySQL returned an empty result set (i.e. zero rows). 
+2

Только одно примечание может хотеть изменить 'mysql_ *' на 'mysqli_ *' или что-то еще вроде 'pdo' – Sir

+2

, вы не можете выполнить несколько операторов в одном mysql_query(); –

ответ

1

phpMyAdmin использует; как разделитель между вызовами в базе данных. Поэтому ввод этой строки в phpMyAdmin вызовет 4 запроса, а не один массивный запрос, как у вас. Вам нужно сломать его.

$result = mysql_query("CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM sale_khomsi"); 

$result = mysql_query("UPDATE tmptable_1 SET id= NULL , faal= 1"); 

$result = mysql_query("INSERT INTO sale_khomsi SELECT * FROM tmptable_1"); 

$result = mysql_query("DROP TEMPORARY TABLE IF EXISTS tmptable_1"); 

Это должно дать желаемый результат. Конечно, вам нужно проверить результат результата, чтобы убедиться, что запрос был успешным.

2

Там нет возможности для выполнения мульти-запроса в MySQL. Но если вы идете на mysqli, то он есть.

Но если вы хотите использовать mysql, то только вы можете пойти на процедуру для такого рода вещей.

Смежные вопросы