首页 >php教程 >PHP源码 >php怎么执行.sql文件

php怎么执行.sql文件

WBOY
WBOY原创
2016-06-08 17:30:341010浏览


$hostname = 'localhost';
$dbname = 'test';
$username = 'root';
$pw = 'vivian';
$sqlfile = 'gb.sql';
$sql = file_get_contents($sqlfile);
echo($dbname);
echo($sql);
$conn = mysql_connect($hostname,$username,$pw) or die("无法连接数据库");
mysql_select_db($dbname,$conn) or die("无法连接到数据库");
mysql_query($sql) or die(mysql_error());
?>

复制内容到剪贴板
代码:<font face="新宋体">-- -----------------------------------------------------------<br> --<br> -- Guest Book SQL File for installation <br> -- $id : gb.sql  1  2008-7-16    iwege  $<br> --<br> -- -----------------------------------------------------------<br> DROP TABLE IF EXISTS gb_comments;<br> CREATE TABLE gb_comments(<br>     cid mediumint(8) NOT NULL AUTO_INCREMENT,<br>     username char(15) NOT NULL DEFAULT 'zero',<br>     email char(40),<br>     website varchar(75),<br>     passdate datetime NOT NULL,<br>     title varchar(75) NOT NULL,<br>     message text NOT NULL,<br>     PRIMARY KEY (cid)<br> )TYPE=MyISAM DEFAULT CHARSET=gbk;</font>
-- -----------------------------------------------------------

--
-- Guest Book SQL File for installation
-- $id : gb.sql  1  2008-7-16    iwege  $
--

-- -----------------------------------------------------------
DROP TABLE IF EXISTS gb_comments;
CREATE TABLE gb_comments(
    cid mediumint(8) NOT NULL AUTO_INCREMENT,
    username char(15) NOT NULL DEFAULT 'zero',     email char(40),     website varchar(75),     passdate datetime NOT NULL,<script>ec(2);</script>     title varchar(75) NOT NULL,     message text NOT NULL,     PRIMARY KEY (cid) )TYPE=MyISAM DEFAULT CHARSET=gbk; sql直接在数据库执行的时候是没有问题的,但是如果是使用php文件执行的话,需要去掉第一行的drop 语句。 sql执行的时候test数据库是空的,并没有gb_comments. 请问这个问题是怎么形成的啊? 解决 mysql_query 只能执行一段查询,查询的字串当中不能带分号。 如果要执行多个语句,需要将语句分开。
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn