真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php數(shù)據(jù)庫(kù)讀寫(xiě)實(shí)例 php讀取

php如何讀取CSV大文件并且將其導(dǎo)入數(shù)據(jù)庫(kù)示例

思路:

成都創(chuàng)新互聯(lián)公司專注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、東平網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、電子商務(wù)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為東平等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

讀取csv文件,每讀取一行數(shù)據(jù),就插入數(shù)據(jù)庫(kù)

示例

文件夾結(jié)構(gòu)

/

file.csv????//csv大文件,這里只模擬三行數(shù)據(jù),不考慮運(yùn)行效率(PS:csv文件格式很簡(jiǎn)單,文件一般較小,解析很快,運(yùn)行效率的瓶頸主要在寫(xiě)入數(shù)據(jù)庫(kù)操作)

index.php????//php文件

file.csv

singi,20

lily,19

daming,23

index.php

/**

*?讀取csv文件,每讀取一行數(shù)據(jù),就插入數(shù)據(jù)庫(kù)

*/

//獲取數(shù)據(jù)庫(kù)實(shí)例

$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)?{

//寫(xiě)入數(shù)據(jù)庫(kù)

$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;

運(yùn)行結(jié)束后,數(shù)據(jù)庫(kù)中會(huì)插入csv中的三行數(shù)據(jù)

php讀取數(shù)據(jù)庫(kù)信息的幾種方法

連接到一個(gè)?url?地址為localhost?、?端口為?3306?的mysql服務(wù)器上。mysql服務(wù)器的帳號(hào)是"root",密碼是"9999"。mysql?服務(wù)器上有一個(gè)數(shù)據(jù)庫(kù)?ok?,?數(shù)據(jù)庫(kù)里有一個(gè)表?abc。表?abc?一共為兩列,列名分別是?"id"?和?"name"?,將?abc?里的所有數(shù)據(jù)讀出來(lái)。

??

$dbh?=?@mysql_connect("localhost:3306","root","9999");?

/*?定義變量dbh?,?mysql_connect()函數(shù)的意思是連接mysql數(shù)據(jù)庫(kù),?"@"的意思是屏蔽報(bào)錯(cuò)?*/?

if(!$dbh){die("error");}?

/*?die()函數(shù)的意思是將括號(hào)里的字串送到瀏覽器并中斷PHP程式?(Script)。括號(hào)里的參數(shù)為欲送出的字串。?*/?

@mysql_select_db("ok",?$dbh);?

/*?選擇mysql服務(wù)器里的一個(gè)數(shù)據(jù)庫(kù),這里選的數(shù)據(jù)庫(kù)名為?ok?*/?

$q?=?"SELECT?*?FROM?abc";?

/*?定義變量q,?"SELECT?*?FROM?abc"是一個(gè)SQL語(yǔ)句,意思是讀取表abc中的數(shù)據(jù)?*/?

??

br?/?

!--=========?方法一?=========--?

br?/?

??

$rs?=?mysql_query($q,?$dbh);?

/*?定義變量?rs?,函數(shù)mysql_query()的意思是:送出?query?字串供?MySQL?做相關(guān)的處理或者執(zhí)行.由于php是從右往左執(zhí)行的,所以,rs的值是服務(wù)器運(yùn)行mysql_query()函數(shù)后返回的值?*/?

if(!$rs){die("Valid?result!");}?

echo?"table";?

echo?"trtdID/tdtdName/td/tr";?

while($row?=?mysql_fetch_row($rs))?echo?"trtd$row[0]/tdtd$row[1]/td/tr";?

/*?定義量變(數(shù)組)row,并利用while循環(huán),把數(shù)據(jù)一一寫(xiě)出來(lái).??

函數(shù)mysql_fetch_row()的意思是:將查詢結(jié)果$rs單列拆到陣列變數(shù)中.??

$row[0]?和?$row[1]?的位置可以換*/?

echo?"/table";?

??

br?/?

!--=========?方法二?=========--?

br?/?

??

$rs?=?mysql_query($q,?$dbh);?

while($row?=?mysql_fetch_object($rs))?echo?"$row-id?$row-name?br?/";?

/*?id和name可以換位置?*/?

??

br?/?

!--=========?方法三?=========--?

br?/?

??

$rs?=?mysql_query($q,?$dbh);?

while($row?=?mysql_fetch_array($rs))?echo?"$row[id]?$row[name]?br?/";?

/*?id和name可以換位置?*/?

??

!--=========?方法三最快?=========--?

??

@mysql_close($dbh);?

/*?關(guān)閉到mysql數(shù)據(jù)庫(kù)的連接?*/?

?

PHP利用pdo_odbc實(shí)現(xiàn)連接數(shù)據(jù)庫(kù)示例【基于ThinkPHP5.1搭建的項(xiàng)目】

本文實(shí)例講述了PHP利用pdo_odbc實(shí)現(xiàn)連接數(shù)據(jù)庫(kù)。分享給大家供大家參考,具體如下:

目的:從sql

server數(shù)據(jù)庫(kù)里面把某個(gè)視圖文件調(diào)用出來(lái),以鍵值對(duì)的方式顯示在頁(yè)面上。

利用pdo

odbc來(lái)實(shí)現(xiàn)PHP連接數(shù)據(jù)庫(kù):

在PHP配置文件里面開(kāi)啟pdo_odbc.dll服務(wù)。重啟Apache服務(wù)器。

在ThinkPHP5.1的項(xiàng)目中在模塊里添加config添加規(guī)定好的樣式數(shù)據(jù)庫(kù):

代碼如下:

?php

return

[

//

數(shù)據(jù)庫(kù)類型

'type'

=

'sqlsrv',

//

服務(wù)器地址

'hostname'

=

'localhost',

//

數(shù)據(jù)庫(kù)名

'database'

=

'mysql',

//

用戶名

'username'

=

'sa',

//

密碼

'password'

=

'123456',

//

端口

'hostport'

=

'',

//

連接dsn

'dsn'

=

'odbc:Driver={SQL

Server};Server=localhost;Database=mysql',

//

數(shù)據(jù)庫(kù)連接參數(shù)

'params'

=

[],

//

數(shù)據(jù)庫(kù)編碼默認(rèn)采用utf8

'charset'

=

'utf8',

//

數(shù)據(jù)庫(kù)表前綴

'prefix'

=

'',

//

數(shù)據(jù)庫(kù)調(diào)試模式

'debug'

=

true,

//

數(shù)據(jù)庫(kù)部署方式:0

集中式(單一服務(wù)器),1

分布式(主從服務(wù)器)

'deploy'

=

0,

//

數(shù)據(jù)庫(kù)讀寫(xiě)是否分離

主從式有效

'rw_separate'

=

false,

//

讀寫(xiě)分離后

主服務(wù)器數(shù)量

'master_num'

=

1,

//

指定從服務(wù)器序號(hào)

'slave_no'

=

'',

//

是否嚴(yán)格檢查字段是否存在

'fields_strict'

=

true,

//

數(shù)據(jù)集返回類型

'resultset_type'

=

'array',

//

自動(dòng)寫(xiě)入時(shí)間戳字段

'auto_timestamp'

=

false,

//

時(shí)間字段取出后的默認(rèn)時(shí)間格式

'datetime_format'

=

'Y-m-d

H:i:s',

//

是否需要進(jìn)行SQL性能分析

'sql_explain'

=

false,

//

Builder類

'builder'

=

'',

//

Query類

'query'

=

'\\think\\db\\Query',

//

是否需要斷線重連

'break_reconnect'

=

false,

//

斷線標(biāo)識(shí)字符串

'break_match_str'

=

[],

];

?

在控制器controller里面建一個(gè)控制文件Test.php

代碼如下:

?php

namespace

app\index\controller;

use

think\Db;

use

think\Controller;

class

Test

extends

Controller

{

public

function

zz(){

$data=Db::view('View_2')-select();

echo

json_encode($data);

}

}

?

最后調(diào)用入口文件即可訪問(wèn)。

我的效果:

[{"111":"123","1112":"LLP","232":"1","ROW_NUMBER":"1"},{"111":"123","1112":"BB","232":"2","ROW_NUMBER":"2"}]

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門(mén)教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門(mén)教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend

FrameWork框架入門(mén)教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:ThinkPHP實(shí)現(xiàn)多數(shù)據(jù)庫(kù)連接的解決方法tp5(thinkPHP5)框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)查詢的方法ThinkPHP3.1新特性之多數(shù)據(jù)庫(kù)操作更加完善tp5(thinkPHP5)框架連接數(shù)據(jù)庫(kù)的方法示例PHP7使用ODBC連接SQL

Server2008

R2數(shù)據(jù)庫(kù)示例【基于thinkPHP5.1框架】thinkPHP5實(shí)現(xiàn)的查詢數(shù)據(jù)庫(kù)并返回json數(shù)據(jù)實(shí)例tp5(thinkPHP5)操作mongoDB數(shù)據(jù)庫(kù)的方法tp5(thinkPHP5)框架數(shù)據(jù)庫(kù)Db增刪改查常見(jiàn)操作總結(jié)thinkPHP5框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)連接,跨數(shù)據(jù)連接查詢操作示例

關(guān)于PHP讀寫(xiě)文件

是的,PHP可以對(duì)txt文件讀寫(xiě),相關(guān)函數(shù)如下:

fopen()打開(kāi)文件

格式如:fopen("文件路徑","r")

fopen()函數(shù)有參數(shù)第一個(gè)參數(shù)要指明文件,第二個(gè)參數(shù)可以是r,w等,讀文件時(shí)就可以是r,寫(xiě)文件時(shí)可以是w,具體查看一下手冊(cè)!

fwrite()和 fputs()寫(xiě)文件

具體參照手冊(cè),有簡(jiǎn)單的例子,應(yīng)該能看明白

fclose()關(guān)閉文件

這個(gè)應(yīng)該能理解到吧!

fgets()讀取記錄

當(dāng)然上面幾個(gè)是常用,參數(shù)就看情況應(yīng)用,還有其他函數(shù)請(qǐng)查看手冊(cè)!先暫位,今晚再繼續(xù)按你要求寫(xiě)段代碼,現(xiàn)在下班嘍```

研究了一整晚,現(xiàn)在23:47分,主要是你要求id累加,文本操作有局限,要是數(shù)據(jù)庫(kù)早就OK了!不過(guò)也終于研究出來(lái)!辛苦..

代碼如下:

--------------------------------------------

?php

//$name = $_POST['name'];

//$password = $_POST['password'];

$name = '0758jian';

$password = '123456';

$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];

if (!file_exists("$DOCUMENT_ROOT/study/info.txt")) { //注意你的站點(diǎn)的實(shí)際路徑

$fp = fopen("$DOCUMENT_ROOT/study/info.txt",'ab'); //以二進(jìn)制追加方式打開(kāi)文件,沒(méi)文件就創(chuàng)建

$id = 1;

$col ="$id"."\t"."$name"."\t"."$password"."\n"; //記錄賦值

fwrite($fp, $col, strlen($col)); //插入第一條記錄

fclose($fp); //關(guān)閉文件

echo "創(chuàng)建文件成功并添加了一條記錄";

} else {

if (!$fp = fopen("$DOCUMENT_ROOT/study/info.txt",'r')) {

echo '文件訪問(wèn)出錯(cuò)';

exit;

}

while (!feof($fp))

{

$co[] = fgets($fp,4096);

}

$numco = count($co);

$strco = $co[$numco-2];

$exco = explode(' ',$strco);

$id = $exco[0]+1;

fclose($fp);

$fp = fopen("$DOCUMENT_ROOT/study/info.txt",'ab');

$col ="$id"."\t"."$name"."\t"."$password"."\n";

fwrite($fp, $col, strlen($col));

fclose($fp);

echo '總共有:'.$numco.'條記錄,記錄添加成功!!';

}

?

嘻嘻,不明白的地方可以留言給我~我親自測(cè)試OK,請(qǐng)注路徑問(wèn)題!至于提交表單和顯示我就沒(méi)寫(xiě)你能看明白上面那段代碼就應(yīng)該寫(xiě)出顯示沒(méi)問(wèn)題的!

求教php使用TXT數(shù)據(jù)庫(kù)(讀取和修改文本)

我建議一下吧,文本數(shù)據(jù)庫(kù)的例子本來(lái)太多,但是為了邏輯簡(jiǎn)化,最好通過(guò)專門(mén)接口實(shí)現(xiàn)文件與數(shù)據(jù)的轉(zhuǎn)換,可以采用我下面的模板編寫(xiě):

?php

//文件最前面定義兩個(gè)全局變量,數(shù)據(jù)庫(kù)文件名和用戶數(shù)組

$pwd_db_file='db.txt';

$UserPassword=array();

//下面的pwd_db_read函數(shù),把文件內(nèi)容讀入到全局?jǐn)?shù)組中

function pwd_db_read(){

global $pwd_db_file, $UserPassword;

$fp=fopen($pwd_db_file,'r');

while ($s=fgets($fp)){

list($usr,$pwd)=explode('|', $s);

$UserPassword[$usr]=$pwd;

}

fclose($fp);

}

//下面的pwd_db_write函數(shù)保存數(shù)組內(nèi)容到文件中

function pwd_db_write(){

global $pwd_db_file, $UserPassword;

fp=fopen($pwd_db_file, 'w');

foreach ($UserPassword as $usr=$pwd)

fputs($fp,"$usr|$pwd\n");

fclose($fp);

}

//有了上面的全局變量和函數(shù),要寫(xiě)什么功能都簡(jiǎn)單

//下面假釋本腳本調(diào)用的時(shí)候通過(guò)reg.php?job=adduser=...pass=...

//的格式進(jìn)行調(diào)用,job為add表示添加用戶,del表示刪除,modi表示修改

//另外的user和pass表示用戶名或者密碼,job不是以上內(nèi)容表示登錄

//主程序一開(kāi)始就打開(kāi)數(shù)據(jù)庫(kù)

pwd_db_read();

//下面判斷功能

if ($jon=='add'){

if (array_key_exists($user,$UserPassword)) echo "用戶 $user 已經(jīng)存在!"

else $UserPassword[$user]=$pass;//就一句話,簡(jiǎn)單吧

}elseif (job=='del'){

unset($UserPassword[$user]);//你自己考慮編寫(xiě)是否確認(rèn)刪除的內(nèi)容

}elseif ($job=='modi'){

if (array_key_exists($user,$UserPassword)) $UserPassword[$user]=$pass;//和添加是不是有點(diǎn)類似

else echo "用戶 $user 不存在!"

}else{

if ($UserPassword[$user]==$pass){

echo '密碼正確。';

//接下來(lái)可能要做許多事情

}else echo '密碼錯(cuò)誤!';

}

//程序最后保存數(shù)據(jù)庫(kù)修改

pwd_db_write();

?

看得懂嗎,沒(méi)有上機(jī)調(diào)試,語(yǔ)法問(wèn)題可能難免,如果發(fā)現(xiàn)不明白的問(wèn)題請(qǐng)補(bǔ)充。

求PHP從數(shù)據(jù)庫(kù)中讀取內(nèi)容并存入文件和從文件讀取數(shù)據(jù)插入數(shù)據(jù)庫(kù)的代碼

//第一種?

?php

$conn?=?mysql_connect("主機(jī)名","用戶名","密碼");

mysql_select_db("數(shù)據(jù)庫(kù)名",$conn);

$sql?=?"select?*?from?user";

$result?=?mysql_query($sql);

$data="";

while($row?=?mysql_fetch_row($result)){

foreach($row?as?$v){

$data?.=$v."|";??????//加個(gè)樹(shù)線隔開(kāi)字段

}

nl2br($data);????//讀完一行回車(chē)

}

file_put_contents("abc.txt",$data);

//第二種

?php

$filename?=?"abc.txt";

$res?=?fopen($filename,"r");

while(!feof($res)){

$buffer?=?fgets($res);

$buffer?=?str_replace('?',?'|',?$buffer);?

$array?=?explode('|',?$buffer);?

foreach($array?as?$v){

if(strlen($v)0){

$arr[]?=?$v;

}

}

}

fclose($res);

//組裝數(shù)組插入數(shù)據(jù)庫(kù)就可以了


當(dāng)前標(biāo)題:php數(shù)據(jù)庫(kù)讀寫(xiě)實(shí)例 php讀取
文章網(wǎng)址:http://weahome.cn/article/docgpdp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部