当前位置:  首页  >  PHP教程  >  PHP 应用  >  常见问题

php怎么执行.sql文件-PHP源码

ec(2);<?php$hostnamelocalhost;$dbnametest;$usernameroot;$pwvivian;$sqlfilegb.sql;$sqlfile_get_contents($sqlfile);echo($dbname);echo($sql);$connmysql_co
《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());
?>

复制内容到剪贴板

代码:
-- -----------------------------------------------------------
--
-- 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,
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 只能执行一段查询,查询的字串当中不能带分号。
如果要执行多个语句,需要将语句分开。

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有