如何用php将mysql表导出为dbf文件
?
成都创新互联长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为梨林企业提供专业的网站制作、网站建设,梨林网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。
include_once("include.php");
$card=445;//接收$card
//英文字段转中文字段
function field_conv($en,$card){
global $DbUseDatabase,$DbMHost,$DbMUser,$DbMPass;
$db = new newquery($DbUseDatabase,$DbMHost,$DbMUser,$DbMPass);
$db-query("select fieldname from t_cardinfo where cardkind=$card and field ='$en'");
if($db-next_record()){
return $db-f(0);
}
else
return false;
}
function mysql_to_dbf($mysql_datasource,$source_table,$destination_dbf)
{
global $DbUseDatabase,$DbMHost,$DbMUser,$DbMPass,$card;
$link=mysql_connect($DbMHost,$DbMUser,$DbMPass) or exit("不能链接到数据库");
$operate=mysql_select_db($mysql_datasource,$link);
//连mysql数据源
$rs=mysql_query("SELECT * from ".$source_table." limit 0,1");
$number_of_fields=mysql_num_fields($rs);//取字段数量
//不要前面5个底层字段
for($field_counter=5;$field_counter$number_of_fields;$field_counter++)
{
$dbf_field_type=mysql_field_type($rs,$field_counter);
$dbf_field_name=mysql_field_name($rs,$field_counter);
$dbf_field_len=mysql_field_len($rs,$field_counter);
//print($dbf_field_name);
if(isset($point)){
unset($point);
array_pop($field);
}
switch($dbf_field_type)
{
case "string":
$dbf_field_name=substr(mysql_field_name($rs,$field_counter),0,10);
//自由表的字段名不能超过10,请注意
$dbf_field_len=mysql_field_len($rs,$field_counter);
if($dbf_field_len=255)
{
$dbf_field_len--;
}
$dbf_field_type="C";
break;
case "varchar":
$dbf_field_name=substr(mysql_field_name($rs,$field_counter),0,10);
//自由表的字段名不能超过10,请注意
$dbf_field_len=mysql_field_len($rs,$field_counter);
if($dbf_field_len=255)
{
$dbf_field_len--;
}
$dbf_field_type="C";
break;
case "decimal":
$dbf_field_name=substr(mysql_field_name($rs,$field_counter),0,10);
//自由表的字段名不能超过10,请注意
$dbf_field_len=mysql_field_len($rs,$field_counter);
if($dbf_field_len=255)
{
$dbf_field_len--;
}
$dbf_field_type="C";
break;
case "real":
$dbf_field_name=substr(mysql_field_name($rs,$field_counter),0,10);
//自由表的字段名不能超过10,请注意
$dbf_field_len=mysql_field_len($rs,$field_counter);
if($dbf_field_len=255)
{
$dbf_field_len--;
}
$dbf_field_type="N";
$dbf_field_len="10";
$point="0";
break;
case "date":
$dbf_field_type="D";
break;
}
$fieldname=field_conv($dbf_field_name,$card);
$fieldname=subcnstr($fieldname, 9, ''); //字段最长10个字符
$field[0]=$fieldname;
$field[1]=$dbf_field_type;
$field[2]=$dbf_field_len;
if(isset($point)) {
$field[3]=$point;
}
$dbf[]=$field;
}
$d = array_map(null, $dbf);
if (!dbase_create($destination_dbf,$dbf)){
print "strongError!/strong";
exit;
}
//else
// print "strongok!/strong";
//写入字段名完成!
$dbfp=dbase_open ($destination_dbf,2);
$rs=mysql_query("SELECT * from ".$source_table);
$field=mysql_num_fields($rs);
while($row = mysql_fetch_array($rs))
{
$i=0;
for($fieldcounter=5;$fieldcounter$field;$fieldcounter++)//不要前面5个底层字段
{
$field_name=mysql_field_name($rs,$fieldcounter);
$rows[$i]=$row[$field_name];
$i++;
}
dbase_add_record ($dbfp,$rows); //写入记录
}
//print_r($dbffield);
dbase_close($dbfp);
mysql_close($link);
}
mysql_to_dbf("nbw1-SY","t_cardcontent445","c:\a.dbf");
echo "scriptalert('导出完成!')/script";
?
如何用PHP将dbf文件导入到MYSQL数据库中 - 技术问答
要是FOXBASE/FOXPRO的库文件
可以直接用EXCEL打开,然后保存为TXT文件,再用sqlldr导入oracle。
不过EXCEL有行数限制,大概是8W行
也可以直接把DBF文件COPY到FOXPRO环境。
然后在FOXPRO里把这个DBF(库)打印到文本即可,就可以sqlldr导入ORacle。
php写入数据库
PHP向MySQL数据库中写入数据有三个步骤:
1,PHP和MySQL建立连接关系
2,打开MySQL数据库
3,接受页面数据,PHP录入到指定的表中
1、2两步可直接使用一个数据库链接文件即可:conn.php
代码如下
?php
mysql_connect("localhost","root","");//连接MySQL
mysql_select_db("hello");//选择数据库
?
当然,前提是已经安装WEB服务器、PHP和MySQL,并且建立MySQL表“cnbruce”
mysql_connect()中三个参数分别为MySQL地址、MySQL用户名和MySQL密码
然后就是通过WEB页面传递数据,让PHP通过SQL语句将数据写入MySQL数据库指定的表中,比如新建文件 post.php
代码如下
?php
require_once("conn.php");//引用数据库链接文件
$uname = $_GET['n'];//GET方法为URL参数传递
$psw = $_GET['p'];
$psw=md5($psw);//直接使用MD5加密
$sql = "insert into members(username,password) values ('$uname','$psw')";
mysql_query($sql);//借SQL语句插入数据
mysql_close();//关闭MySQL连接
echo "成功录入数据";
?
测试页面: ;p=i0514
即可向MySQL数据库hello的members表中插入新的数据“cnbruce”到username字段、“i0514”到password字段
补充:读取表
读取表中的内容,这里我们用while,可以根据具体情况,用for 或其他的.
代码如下
while($row = mysql_fetch_array($result))
{
echo "div style="height:24px; line-height:24px; font-weight:bold;""; //排版代码
echo $row['Topic'] . "br/";
echo "/div"; //排版代码
如何用PHP将dbf文件导入到MYSQL数据库中
首先要在mysql里面建立一个数据库,结构和mssql里面数据库一样的,然后把mdf文件附加到mssql里面,然后用php连接mssql,从mssql里面读取,然后插入mysql里面
名称栏目:php数据写入dbf php写入数据到数据库
标题URL:http://lswzjz.com/article/dojggjd.html