RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
php数据库实例,PHP数据库操作

php如何读取CSV大文件并且将其导入数据库示例

思路:

成都创新互联公司专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,成都服务器托管成都服务器托管,成都多线服务器托管等服务器托管服务。

读取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使用pdo连接access数据库并循环显示数据操作示例

本文实例讲述了PHP使用pdo连接access数据库并循环显示数据操作。分享给大家供大家参考,具体如下:

PDO连接与查询:

try

{

$conn

=

new

PDO("odbc:driver={microsoft

access

driver

(*.mdb)};

dbq=".realpath("MyDatabase.mdb"))

or

die("链接错误!");

//echo

"链接成功!";

}

catch(PDOException

$e){

echo

$e-getMessage();

}

$sql

=

"select

*

from

users";

1.

foreach()方法

foreach

($conn-query($sql)

as

$row)

{

$row["UserID"];

$row["UserName"];

$row["UserPassword"];

}

2.

while()方法

$rs

=

$conn-query($sql);

$rs-setFetchMode(PDO::FETCH_NUM);

while($row=$rs-fetch()){

$row[0];

$row[1];

$row[2];

}

php使用PDO抽象层获取查询结果,主要有三种方式:

(1)PDO::query()查询。

看下面这段php代码:

?php

//PDO::query()查询

$res

=

$db-query('select

*

from

user');

$res-setFetchMode(PDO::FETCH_NUM);

//数字索引方式

while

($row

=

$res-fetch()){

print_r($row);

}

?

(2)PDO-exec()处理sql

?php

//PDO-exec()处理sql

$db-setAttribute(PDO::ATTR_ERRMODE,

PDO::ERRMODE_EXCEPTION);

$res

=

$db-exec("insert

into

user(id,name)

values('','php点点通')");

echo

$res;

?

(3)PDO::prepare()预处理执行查询

?php

//PDO::prepare()预处理执行查询

$res

=

$db-prepare("select

*

from

user");

$res-execute();

while

($row

=

$res-fetchAll())

{

print_r($row);

}

?

setAttribute()

方法是设置属性,常用参数如下:

PDO::CASE_LOWER

--

强制列名是小写

PDO::CASE_NATURAL

--

列名按照原始的方式

PDO::CASE_UPPER

--

强制列名为大写

setFetchMode方法来设置获取结果集的返回值的类型,常用参数如下:

PDO::FETCH_ASSOC

--

关联数组形式

PDO::FETCH_NUM

--

数字索引数组形式

PDO::FETCH_BOTH

--

两者数组形式都有,这是默认的

PDO::FETCH_OBJ

--

按照对象的形式,类似于以前的

mysql_fetch_object()

对上面总结如下:

查询操作主要是PDO::query()、PDO::exec()、PDO::prepare()。

PDO-query()

处理一条SQL语句,并返回一个“PDOStatement”

PDO-exec()

处理一条SQL语句,并返回所影响的条目数

PDO::prepare()主要是预处理操作,需要通过$rs-execute()来执行预处理里面的SQL语句

最后介绍两个常用的函数:

(1)fetchColumn()获取指定记录里一个字段结果,默认是第一个字段!

?php

$res

=

$db-query('select

*

from

user');

//获取指定记录里第二个字段结果

$col

=

$res-fetchColumn(1);

echo

$col;

?

(2)fetchAll(),从一个结果集中获取数据,然后存放在关联数组中

?php

$res

=

$db-query('select

*

from

user');

$res_arr

=$res-fetchAll();

print_r($res_arr);

?

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《php+Oracle数据库程序设计技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:PHP使用PDO连接ACCESS数据库PHP数据库链接类(PDO+Access)实例分享php中mysql连接方式PDO使用详解关于php连接mssql:pdo

odbc

sql

serverPhp中用PDO查询Mysql来避免SQL注入风险的方法php中在PDO中使用事务(Transaction)全新的PDO数据库操作类php版(仅适用Mysql)php使用pdo连接并查询sql数据库的方法php使用pdo连接mssql

server数据库实例PHP实现PDO的mysql数据库操作类

php怎么样实例化数据库对象

php 连接数据库的几种方式

$con = mysql_connect(服务器,服务器用户名,服务器密码默认为“”)

mysql_select_db(数据库,$con)选择数据库

mysql_query($sql,$con);

$con = mysqli_connect(服务器,服务器用户名,服务器密码默认为“”,数据库名)

$query = mysqli_query($conn,$sql);

$conn = new mysqli(服务器,服务器用户名,服务器密码默认为“”,数据库名);

$query = $conn-query($sql);

php 写入数据库 例子

?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();

}


当前文章:php数据库实例,PHP数据库操作
本文路径:http://lswzjz.com/article/dsgjodo.html