思路:
創(chuàng)新互聯(lián)專注于宜川企業(yè)網(wǎng)站建設,成都響應式網(wǎng)站建設公司,商城網(wǎng)站制作。宜川網(wǎng)站建設公司,為宜川等地區(qū)提供建站服務。全流程按需網(wǎng)站制作,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
讀取csv文件,每讀取一行數(shù)據(jù),就插入數(shù)據(jù)庫
示例
文件夾結構
/
file.csv????//csv大文件,這里只模擬三行數(shù)據(jù),不考慮運行效率(PS:csv文件格式很簡單,文件一般較小,解析很快,運行效率的瓶頸主要在寫入數(shù)據(jù)庫操作)
index.php????//php文件
file.csv
singi,20
lily,19
daming,23
index.php
/**
*?讀取csv文件,每讀取一行數(shù)據(jù),就插入數(shù)據(jù)庫
*/
//獲取數(shù)據(jù)庫實例
$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)?{
//寫入數(shù)據(jù)庫
$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);
}
數(shù)據(jù)表
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;
運行結束后,數(shù)據(jù)庫中會插入csv中的三行數(shù)據(jù)
這篇文章主要介紹了PHP連接操作access數(shù)據(jù)庫實例,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
因為之前做的PingSwitch要做一個WEB展示的前端,因為一開始用了Delphi和access的結構,而Delphi與MySQL的連接又相對麻煩,最后只能選擇用PHP+Access的組合,比較奇怪,但是也合理·····
在PHP中連接access數(shù)據(jù)庫的話我們必須ADO來連接,這跟ASP中連接數(shù)據(jù)庫非常的類似。下邊給出了一段DEMO供大家參考。
?PHP
/*
創(chuàng)建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);
/*
創(chuàng)建記錄集查詢
*/
$rs
=
@new
COM("ADODB.RecordSet");
$rs-Open("select
*
from
dbo_dirs",$conn,1,3);
/*
循環(huán)讀取數(shù)據(jù)
*/
while(!$rs-eof){
echo
"$rs-Fields["title"]-Value;
echo
"br/";
$rs-Movenext();
//將記錄集指針下移
}
$rs-close();
?
這樣運行就沒問題了····
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
給你舉個很簡單的例子,如下:
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"); //寫入數(shù)據(jù),中間用|隔開
fclose($fp);
}
/*讀取,可以通過|拆分項*/
$lines=file("db.txt");
print_r("pre");
print_r($files);
/*刪除*/
你可以用一項來做標識,比如提交時間,來定位行數(shù)。
?
我來給你解決:
只需要一個頁面,簡單高效,鑒于你的服務器配置各方面都是本地,那么省去很多錯誤處理:代碼見下(復制過去就可以用,字符集一定要正確啊,數(shù)據(jù)庫,meta,names必須要統(tǒng)一):
!doctype html
html
head
meta charset="utf-8" !-- 如果你是GBK或gb2312,請修改utf8為你需要的字符集 --
title列表/title
/head
body
?php
//連接數(shù)據(jù)庫
$connect=mysql_connect('localhost','username','password'); //設置字庫
mysql_query("SET NAMES utf8"); //如果你是GBK或gb2312,請修改utf8為你需要的字符集,同樣上面也要改
mysql_select_db('eastses',$connect); //選擇數(shù)據(jù)庫
$table='classmate' //選擇數(shù)據(jù)表
//處理
$do=$_GET['do'];
if($do=="" or $do=="view"){ //打開網(wǎng)頁時默認調用本節(jié)內(nèi)容,或者點擊瀏覽時調用本節(jié)內(nèi)容
?
!-- 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"){ //點擊添加鏈接時調用本節(jié)內(nèi)容
?
!-- 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"){ //點擊提交按鈕后調用本節(jié)內(nèi)容
$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);??//?連接數(shù)據(jù)庫
mysql_select_db('test');???????????????????????????//?選擇數(shù)據(jù)庫
mysql_query('set?names?utf8');?????????????????????//?執(zhí)行SQL
//?插入數(shù)據(jù)語句
$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連上數(shù)據(jù)庫。
語法: int sybase_connect(string [servername], string [username], string [password]);
返回值: 整數(shù)函數(shù)種類: 數(shù)據(jù)庫功能 本函數(shù)用來打開與 Sybase 數(shù)據(jù)庫的連接。
參數(shù) servername 為欲連上的數(shù)據(jù)庫服務器名稱。
參數(shù) username 及 password 可省略,分別為連接使用的帳號及密碼。
使用本函數(shù)需注意早點關閉數(shù)據(jù)庫,以減少系統(tǒng)的負擔。
連接成功則返回數(shù)據(jù)庫的連接代號,失敗返回 false 值。