Php 多数据库查询?

Php 多数据库查询?,php,mysql,sql,Php,Mysql,Sql,我正在进行一个简单的脚本安装,在这个安装中,用户进入页面,创建系统表。这些表的SQL代码与我通过file\u get\u contents函数访问的目录相同,然后设置为mysql\u query 但总是会出错。我不理解它,因为当我以phpMyAdmin为例运行代码时,它没有任何问题。可能是什么 PHP $sql = file_get_contents("install.sql"); mysql_query($sql) or die("Error: ".mysql_error());

我正在进行一个简单的脚本安装,在这个安装中,用户进入页面,创建系统表。这些表的SQL代码与我通过file\u get\u contents函数访问的目录相同,然后设置为mysql\u query

但总是会出错。我不理解它,因为当我以phpMyAdmin为例运行代码时,它没有任何问题。可能是什么

PHP

   $sql = file_get_contents("install.sql");
   mysql_query($sql) or die("Error: ".mysql_error());
SQL

   DROP TABLE IF EXISTS `jogos`;
   CREATE TABLE `jogos` (
   `id` int(15) NOT NULL AUTO_INCREMENT,
   `casaid` varchar(255) NOT NULL,
   `foraid` varchar(255) NOT NULL,
   PRIMARY KEY (`id`)
   ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
错误

错误:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解要使用的正确语法

    'CREATE TABLE `jogos` (
    `id` int(15) NOT NULL AUTO_INCREMENT,
     `casaid` varc' 
在2号线


提前谢谢

编辑


谢谢乔尔和弗洛里安的解释。我并不真正了解MySQLi,无论如何,它是一个不需要使用扩展的解决方案。对于有需要的人:

$sqls = ""; // here go your all sql's
$split_sqls = explode(";", $sql);
for($index = 0; $index < count($split_sqls) - 1; $index++) {
    $query = mysql_query($split_sqls[$index]);
if(!$query)
    die("Error at $index SQL.\n\n".mysql_error());
}
$sqls = ""; // here go your all sql's
$split_sqls = explode(";", $sql);
for($index = 0; $index < count($split_sqls) - 1; $index++) {
    $query = mysql_query($split_sqls[$index]);
if(!$query)
    die("Error at $index SQL.\n\n".mysql_error());
}
$sqls=”“;//这是你所有的sql
$split_sqls=explode(“;”,$sql);
对于($index=0;$index

问候

在一个
mysql\u查询中不支持多个查询
。您必须使用支持它的东西,例如
mysqli::multi\u query
。从长远来看,学习mysqli或PDO对您也会有好处,因为mysql扩展已经有充分的理由被弃用。

mysql\u query()函数不支持多个查询。PHP5具有mysqli_multi_query()函数,该函数执行一个或多个由分号连接的查询

$link = mysqli_connect("host", "user", "password", "database");

$query = file_get_contents("install.sql");
mysqli_multi_query($link, $query) or die("Error: ".mysqli_error($link));;

mysqli_close($link);

更多信息,请查看。

感谢Joel和Florian的解释。我并不真正了解MySQLi,无论如何,它是一个不需要使用扩展的解决方案。对于有需要的人:

$sqls = ""; // here go your all sql's
$split_sqls = explode(";", $sql);
for($index = 0; $index < count($split_sqls) - 1; $index++) {
    $query = mysql_query($split_sqls[$index]);
if(!$query)
    die("Error at $index SQL.\n\n".mysql_error());
}
$sqls = ""; // here go your all sql's
$split_sqls = explode(";", $sql);
for($index = 0; $index < count($split_sqls) - 1; $index++) {
    $query = mysql_query($split_sqls[$index]);
if(!$query)
    die("Error at $index SQL.\n\n".mysql_error());
}
$sqls=”“;//这是你所有的sql
$split_sqls=explode(“;”,$sql);
对于($index=0;$index