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

php怎么执行.sql文件

WBOY
WBOY原創
2016-06-08 17:30:341010瀏覽
<script>ec(2);</script>

$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>

sql直接在数据库执行的时候是没有问题的,但是如果是使用php文件执行的话,需要去掉第一行的drop 语句。
sql执行的时候test数据库是空的,并没有gb_comments.

请问这个问题是怎么形成的啊?

解决
mysql_query 只能执行一段查询,查询的字串当中不能带分号。
如果要执行多个语句,需要将语句分开。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn