php 导入sql到mysql数据库方法解析

发布时间:2020-02-26编辑:脚本学堂
本文通过一段论坛回帖,详细介绍了php 导入sql到数据库中的方法,有需要的朋友参考下。

本节内容:
php代码导入数据到mysql/ target=_blank class=infotextkey>mysql数据库

问题描述:
1.初始化数据库时,如何把现有的.sql文件通过PHP 导入到MYSQL中?最好有这方面的代码或类。
2.PHP如何将excel 文件内容导入到Mysql相应的数据库中?
3.PHP如何对MYsql数据库进行备份,生成.SQL文件放到制定的位置?

------解答--------
1、把现有的SQL文件导入数据库中,我写一段函数:
 

复制代码 代码示例:
<?php$conn=mysql_connect("localhost","root","password");//指定数据库连接参数function mysql_import($file,$database)// 导入的函数,参数为SQL文件路径和导入的库名。{mysql_select_db($database);mysql_query("source '".$file."';");echo "导入".$file."文件到".$database."数据库完毕";}mysql_close($conn);?>

------解答--------
 
第二个没有做过,关注此问题。
第三个问题:
最简单的,可以执行mysqldump命令。
 

复制代码 代码示例:
<?php$mysqldump="";//MySQL目录bin目录下的 mysqldump.exe的文件路径(最好是绝对路径),如果用的是linux,差不多也是这样
$database="";//备份的数据库名称
$user="";//数据库连接用户名
$password="";//数据库密码
$outputfile="";//导出的备份的SQL文件路径
system($mysqldump." -u".$user." -p".$password." ".$database." > ".$outputfile."");
?>

------解答--------
你的这些问题用mysql的客户端软件都可以实现,使用mysql cc 或者mysql front都可以实现你的要求,使用程序的话会非常麻烦
------解答--------
执行不就可以了
或者google php mysql class
adobd lite
------解答--------
good
------解答--------
对于1,3可以用mysql自带的命令行完成导入导出的工作.
假定mysql 用户名和密码为 root xxx,数据库为test
导入sql
mysql -hlocalhost -uroot -pxxx test < xxx.sql
导出sql
mysqldump -hlocalhost -uroot -pxxx database > xxx.sql
对于excel,标准的数据可以转成cvs格式的数据,然后再用phpmyadmin这样的工具导入
------解答--------
两种方法:
1.直接执行mysql命令,让Mysql读取相应文件
2.用PHP读取文件,然后执行文件内容。
------解答--------
1,3很简单
2.
基本上在中文环境没有什么完美的解决方案
可以用DOM写个小程序做转换
------解答--------
是COM才对 =.=||
------解答--------
第二个问题,可以写一个csv文件导入就可以了
就可以把数据导入mysql数据库了
------解答--------
excel 出来那种 csv ... =_=||
数据简单还能用一下
------解答--------
支持下1。2楼的
2问题可以考虑mysql odbc 
------解答--------

引用 7 楼 froole 的回复:
两种方法:
1.直接执行Mysql命令,让Mysql读取相应文件
2.用PHP读取文件,然后执行文件内容。

表达的简洁明了
------解答--------
上面的积分都好高,汗。
------解答--------
第二个问题是这样的,要批量导入数据库一些文件,之前ASP做时是通过asp把.xls 文件读出来,写进数据库。现在换成PHP,加上自己完全是个新手,想要做的是,把整理好的.xls文件通过PHP直接导入mysql,是不是这样不行的呀。那有啥好方法能实现批量导入呢?比如要导入一个学校所有学生的姓名学号之类的。
------解答--------
gingzai777 高手的方法正在试,是不是source 后面的地址必须是绝对地址呢?
------解答--------

引用 1 楼 gingzai777 的回复:
1、把现有的SQL文件导入数据库中,我写一段函数: 
 

复制代码 代码示例:
<?php
$conn=mysql_connect("localhost","root","password");//指定数据库连接参数
function mysql_import($file,$database)//导入的函数,参数为SQL文件路径和导入的库名。
{
mysql_select_db($database);
mysql_query("source '".$file."';");
echo "导入".$file."文件到".$database."数据库完毕";
}
mysql_close($conn);
?>
 

 
+---------代码- --------------+
 

复制代码 代码示例:
function init_db(){
$file="../install/import.sql";
$conn=mysql_connect($this->dbhost,$this->dbuser,$this->dbpw) or die("数据库连接错误");
if(!$conn){
echo "数据库连接错误";
}
    $db=mysql_select_db($this->dbname);
    if($db){
mysql_query("DROP DATABASE `".$this->dbname."`");
    }
    mysql_query("setnames 'GBK'");
$creatdb=mysql_query("CREATE DATABASE `".$this->dbname."` DEFAULT CHARACTER SET gb2312 COLLATE gb2312_bin");//建立数据库
$mysql=mysql_select_db($this->dbname);
//if($mysql){
//echo "连接";
//}else{
//echo "未连接";
//}
//echo $file;
//$file="source '".$file."'";
//echo $file;
mysql_query("source '".$file."'");//初始化数据库
mysql_close($conn);
}
 

------解答--------
1、把现有的SQL文件导入数据库中,我写一段函数: 
 

复制代码 代码示例:
<?php
$conn=mysql_connect("localhost","root","password");//指定数据库连接参数
function mysql_import($file,$database)//导入的函数,参数为SQL文件路径和导入的库名。
{
mysql_select_db($database);
mysql_query("source '".$file."';");
echo "导入".$file."文件到".$database."数据库完毕";
}
mysql_close($conn);