Php 多数据库查询?
我正在进行一个简单的脚本安装,在这个安装中,用户进入页面,创建系统表。这些表的SQL代码与我通过file\u get\u contents函数访问的目录相同,然后设置为mysql\u query 但总是会出错。我不理解它,因为当我以phpMyAdmin为例运行代码时,它没有任何问题。可能是什么 PHPPhp 多数据库查询?,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_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