关于php读取文件创建mysql表
我把创建表的sql语句放到一个sql文件里,把这个文件读取到一个变量里,然后mysql_query()这个变量,当这个sql文件里有多个创建表的语句还能这么使用吗,我试了...
我把创建表的sql语句放到一个sql文件里,把这个文件读取到一个变量里,然后mysql_query()这个变量,当这个sql文件里有多个创建表的语句还能这么使用吗,我试了不好使,只创建一个表的时候好使,创建多个就不好使了,请问是怎么回事?
展开
1个回答
展开全部
多个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);
}
大致就像上面这样!
当然,处理这个问题有很多种方法!
我写的这个,只是其中一个而已!
把这个文件读入变量后,以这个分隔符打散成数组,
再循环遍历这个数组执行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语句混淆在一起,连人眼都分辨不清楚,估计软件也无可奈何(当然,这不绝对)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询