关于php读取文件创建mysql表

我把创建表的sql语句放到一个sql文件里,把这个文件读取到一个变量里,然后mysql_query()这个变量,当这个sql文件里有多个创建表的语句还能这么使用吗,我试了... 我把创建表的sql语句放到一个sql文件里,把这个文件读取到一个变量里,然后mysql_query()这个变量,当这个sql文件里有多个创建表的语句还能这么使用吗,我试了不好使,只创建一个表的时候好使,创建多个就不好使了,请问是怎么回事? 展开
 我来答
jiangxibaiyi
2013-06-14 · 跟随风去旅行-伤心的歌
jiangxibaiyi
采纳数:3973 获赞数:14412

向TA提问 私信TA
展开全部
多个sql语句之间弄一个分隔符,比如;号
把这个文件读入变量后,以这个分隔符打散成数组,
再循环遍历这个数组执行sql语句即可
比如:
文件中的sql语句像这样:
insert into 表(字段) values(字段值);
insert into 表(字段) values(字段值);
这样就是有2条sql语句了对吧!
$File = file_get_contents('sql.sql');
$Sqls= explode(';', $File);
foreach( $Sqls as $sql ) {
mysql_query($sql);
}

大致就像上面这样!
当然,处理这个问题有很多种方法!
我写的这个,只是其中一个而已!
更多追问追答
追问
嗯,我大概也是这个思路,看来目前只能先这样了,但是暂时还不清楚为什么用工具倒进去就可以创建多个,用mysql_query()执行就不能创建
追答
工具是可以
他能自动处理区分多条sql语句
比如phpmyadmin他是可以的
但mysql_query函数肯定不可以啊
这个函数本身作用就是执行“一条”sql语句啊
你有多条,那需要你自己去处理区分开来,然后一条一条的给mysql_query执行的啊!
不过,就算是工具,sql语句之间也需要有一个规律啊
比如分隔符,什么分号啊,或者换行符啊什么的
如果多条sql语句混淆在一起,连人眼都分辨不清楚,估计软件也无可奈何(当然,这不绝对)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式