扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
思路:
创新互联专注于宜川企业网站建设,成都响应式网站建设公司,商城网站制作。宜川网站建设公司,为宜川等地区提供建站服务。全流程按需网站制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
读取csv文件,每读取一行数据,就插入数据库
示例
文件夹结构
/
file.csv //csv大文件,这里只模拟三行数据,不考虑运行效率(PS:csv文件格式很简单,文件一般较小,解析很快,运行效率的瓶颈主要在写入数据库操作)
index.php //php文件
file.csv
singi,20
lily,19
daming,23
index.php
/**
* 读取csv文件,每读取一行数据,就插入数据库
*/
//获取数据库实例
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'root';
$password = '';
try {
$db = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e-getMessage();
}
//读取file.csv文件
if (($handle = fopen("file.csv", "r")) !== FALSE) {
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
//写入数据库
$sth = $db-prepare('insert into test set name=:name,age=:age');
$sth-bindParam(':name',$row[0],PDO::PARAM_STR,255);
$sth-bindParam(':age',$row[1],PDO::PARAM_INT);
$sth-execute();
}
fclose($handle);
}
数据表
CREATE TABLE `test` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NULL DEFAULT '' COLLATE 'utf8mb4_bin',
`age` INT(10) NULL DEFAULT '0',
PRIMARY KEY (`id`)
)
COLLATE='utf8mb4_bin'
ENGINE=InnoDB;
运行结束后,数据库中会插入csv中的三行数据
这篇文章主要介绍了PHP连接操作access数据库实例,本文直接给出实现代码,需要的朋友可以参考下
因为之前做的PingSwitch要做一个WEB展示的前端,因为一开始用了Delphi和access的结构,而Delphi与MySQL的连接又相对麻烦,最后只能选择用PHP+Access的组合,比较奇怪,但是也合理·····
在PHP中连接access数据库的话我们必须ADO来连接,这跟ASP中连接数据库非常的类似。下边给出了一段DEMO供大家参考。
?PHP
/*
创建ADO连接
*/
$conn
=
@new
COM("ADODB.Connection")
or
die
("ADO
Connection
faild.");
$connstr
=
"DRIVER={Microsoft
Access
Driver
(*.mdb)};
DBQ="
.
realpath("DATUM/cnbt.mdb");
$conn-Open($connstr);
/*
创建记录集查询
*/
$rs
=
@new
COM("ADODB.RecordSet");
$rs-Open("select
*
from
dbo_dirs",$conn,1,3);
/*
循环读取数据
*/
while(!$rs-eof){
echo
"$rs-Fields["title"]-Value;
echo
"br/";
$rs-Movenext();
//将记录集指针下移
}
$rs-close();
?
这样运行就没问题了····
以上所述就是本文的全部内容了,希望大家能够喜欢。
给你举个很简单的例子,如下:
form method="post"
input type="text" name="user" /
input type="text" name="pass" /
input type="submit" name="Submit" value="提交" /
/form
?php
/*写入*/
if ($_POST[Submit]) {
$fp=fopen("db.txt","a");
fwrite($fp,$_POST[user]."|".$_POST[pass]."\r\n"); //写入数据,中间用|隔开
fclose($fp);
}
/*读取,可以通过|拆分项*/
$lines=file("db.txt");
print_r("pre");
print_r($files);
/*删除*/
你可以用一项来做标识,比如提交时间,来定位行数。
?
我来给你解决:
只需要一个页面,简单高效,鉴于你的服务器配置各方面都是本地,那么省去很多错误处理:代码见下(复制过去就可以用,字符集一定要正确啊,数据库,meta,names必须要统一):
!doctype html
html
head
meta charset="utf-8" !-- 如果你是GBK或gb2312,请修改utf8为你需要的字符集 --
title列表/title
/head
body
?php
//连接数据库
$connect=mysql_connect('localhost','username','password'); //设置字库
mysql_query("SET NAMES utf8"); //如果你是GBK或gb2312,请修改utf8为你需要的字符集,同样上面也要改
mysql_select_db('eastses',$connect); //选择数据库
$table='classmate' //选择数据表
//处理
$do=$_GET['do'];
if($do=="" or $do=="view"){ //打开网页时默认调用本节内容,或者点击浏览时调用本节内容
?
!-- html代码开始 --
table border="1" cellpadding="0" cellspacing="0"
thead
tr
tdID/td
td姓名/td
td昵称/td
td生日/td
td家庭地址/td
td血型/td
tdQQ/td
td微博/td
td邮箱/td
td手机/td
td爱好/td
td喜欢的食物/td
td最喜欢说的句子/td
td最想收到的礼物/td
td最喜欢的Ta/td
td最擅长的事情/td
td难忘的回忆/td
td偶像/td
td理想/td
td其他/td
/tr
/thead
tbody
!-- html代码结束 --
?php
$result=mysql_query("SELECT * FROM $table"); //查询表中所有记录
while($row=mysql_fetch_array($result)){
echo
"tr",
"td".$row['0']."/td",
"td".$row['1']."/td",
"td".$row['2']."/td",
"td".$row['3']."/td",
"td".$row['4']."/td",
"td".$row['5']."/td",
"td".$row['6']."/td",
"td".$row['7']."/td",
"td".$row['8']."/td",
"td".$row['9']."/td",
"td".$row['10']."/td",
"td".$row['11']."/td",
"td".$row['12']."/td",
"td".$row['13']."/td",
"td".$row['14']."/td",
"td".$row['15']."/td",
"td".$row['16']."/td",
"td".$row['17']."/td",
"td".$row['18']."/td",
"td".$row['19']."/td",
"/tr";
}
?
!-- html代码开始 --
/tbody
/tablebr
a href="?do=add"添加信息/a
!-- html代码结束 --
?php
}elseif($do=="add"){ //点击添加链接时调用本节内容
?
!-- html代码开始 --
form action="?do=submit" method="get"
姓名input type="text" name="name"br
昵称input type="text" name="nickname"br
生日input type="text" name="birthday"br
家庭地址input type="text" name="home"br
血型input type="text" name="blood"br
QQinput type="number" name="qq"br
微博input type="text" name="weibo"br
邮箱input type="email" name="email"br
手机input type="number" name="phone"br
爱好input type="text" name="hobby"br
喜欢的食物input type="text" name="food"br
最喜欢说的句子input type="text" name="sentence"br
最想收到的礼物input type="text" name="gift"br
最喜欢的Tainput type="text" name="lover"br
最擅长的事情input type="text" name="keenon"br
难忘的回忆input type="text" name="unforgettable"br
偶像input type="text" name="wanttobecome"br
理想input type="text" name="ideal"br
其他input type="text" name="other"br
button type="submit" name="submit"提交/button
button type="reset" name="reset"重新填写/button
/form
!-- html代码结束 --
?php
}elseif($do=="submit"){ //点击提交按钮后调用本节内容
$name=$_GET['name'];
$nickname=$_GET['nickname'];
$birthday=$_GET['birthday'];
$home=$_GET['home'];
$blood=$_GET['blood'];
$qq=$_GET['qq'];
$weibo=$_GET['weibo'];
$email=$_GET['email'];
$phone=$_GET['phone'];
$hobby=$_GET['hobby'];
$food=$_GET['food'];
$sentence=$_GET['sentence'];
$gift=$_GET['gift'];
$lover=$_GET['lover'];
$keenon=$_GET['keenon'];
$unforgettable=$_GET['unforgettable'];
$wanttobecome=$_GET['wanttobecome'];
$ideal=$_GET['ideal'];
$other=$_GET['other'];
$result=mysql_query("INSERT INTO $table(id,name,nickname,birthday,home,blood,qq,weibo,email,phone,hobby,food,sentence,gift,lover,keenon,unforgettable,wanttobecome,ideal,other) VALUES(NULL,$name,$nickname,$birthday,$home,$blood,$qq,$weibo,$email,$phone,$hobby,$food,$sentence,$gift,$lover,$keenon,$unforgettable,$wanttobecome,$ideal,$other)"); //按字插入
echo"a href=\"?do=add\"再添加一组信息/abra href=\"?do=view\"查看信息/abr";
}
?
/body
/html
我顶你的肺啊。。CSS和排版格式你可以自己写
?php
// 以 MySQL 为例:
mysql_connect('127.0.0.1', 'root', 'root', 3306); // 连接数据库
mysql_select_db('test'); // 选择数据库
mysql_query('set names utf8'); // 执行SQL
// 插入数据语句
$sql = "INSERT INTO table (username, password) VALUES ('Jack@163.com', '123456')";
$r = mysql_query($sql);
if (mysql_affected_rows()) {
echo '新增成功';
} else {
echo mysql_error();
}
sybase_connect连上数据库。
语法: int sybase_connect(string [servername], string [username], string [password]);
返回值: 整数函数种类: 数据库功能 本函数用来打开与 Sybase 数据库的连接。
参数 servername 为欲连上的数据库服务器名称。
参数 username 及 password 可省略,分别为连接使用的帐号及密码。
使用本函数需注意早点关闭数据库,以减少系统的负担。
连接成功则返回数据库的连接代号,失败返回 false 值。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流