从PHP运行多个MySQL查询|为什么不起作用?
我试图从一个php文件在一些mysql数据库上运行多个查询。但是它不起作用。有人能指出我哪里出了问题吗 以下是php文件的内容:从PHP运行多个MySQL查询|为什么不起作用?,mysql,Mysql,我试图从一个php文件在一些mysql数据库上运行多个查询。但是它不起作用。有人能指出我哪里出了问题吗 以下是php文件的内容: <? require_once('/home/xxxxxx/public_html/xxxxxx/dbconnect.php'); $query = " TRUNCATE TABLE db2.table1; INSERT INTO db2.table1 SELECT column1, column2, column3, column4
<?
require_once('/home/xxxxxx/public_html/xxxxxx/dbconnect.php');
$query = "
TRUNCATE TABLE db2.table1;
INSERT INTO db2.table1
SELECT
column1, column2, column3, column4
FROM db1.table1;
TRUNCATE TABLE db2.table2;
INSERT INTO db2.table2
SELECT
column1, column2, column3, column4
FROM db1.table2;
ANALYZE TABLE db2.table2;
";
$result = @mysql_query($query);
?>
提前感谢您的帮助。您只进行了一次查询。阅读文档以了解更多信息 mysql_query()发送一个唯一的查询 (不支持多个查询) 到上的当前活动数据库 与服务器关联的服务器 指定的链接标识符 您应该将每个查询拆分为自己的字符串,并将其逐个发送到MySQL
$query1 = "TRUNCATE TABLE db2.table1;";
$query2 = "INSERT INTO db2.table1
SELECT
column1, column2, column3, column4
FROM db1.table1;";
$query3 = "TRUNCATE TABLE db2.table2;";
$query4 = "INSERT INTO db2.table2
SELECT
column1, column2, column3, column4
FROM db1.table2;";
$query5= "ANALYZE TABLE db2.table2;";
$result1 = @mysql_query($query1);
$result2 = @mysql_query($query2);
$result3 = @mysql_query($query3);
$result4 = @mysql_query($query4);
$result5 = @mysql_query($query5);
或者使用其他支持多个查询的接口函数。就我个人而言,我不知道是否有这样的事情。在这种情况下,最重要的事情是调试:
- 删除
前缀以查看错误@
- 如果mysql\u query()返回
,则添加一个false
以查看mysql的错误消息echo mysql\u error()
在您的特定情况下,
mysql\u query()
不能执行多条语句。最简单的解决方案是使用两个单独的命令。如果安装了mysqli,则可以在一个函数调用中执行多个查询: