189 8069 5689

php读取大数据库 php读取数据库显示在页面上的内容实现每3条自动换行

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

思路:

创新互联专注于玛沁网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供玛沁营销型网站建设,玛沁网站制作、玛沁网页设计、玛沁网站官网定制、小程序定制开发服务,打造玛沁网络公司原创品牌,更为您提供玛沁网站排名全网营销落地服务。

读取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导出导入大数据库

在使用PhpMyAdmin的时候经常用到数据的导入和导出(Export/Import),但是在导入大数据的时候由于php上传文件的限制和脚本响应时间的限制,导致phpMyAdmin无法导入大数据。很多时候都是由于文件过大,从本地浏览上传导入,容易中断失败,有没有更好的方法呢?

方法:

在phpMyAdmin的目录下,找到根目录的config.inc.php文件,

打开config.inc.php文件,查找$cfg['UploadDir'],这个参数就是设定导入文件存放的目录,这里把值设定为:ImportSQLFile。

在phpMyAdmin目录下,建立以ImportSQLFile命名的文件夹,

把我们需要导入的数据文件,放到ImportSQLFile文件夹下面,非常简单,

登入phpMyAdmin,选择需要导入的数据,点击导航条上面的“导入”按钮,

选中“从网站服务器上传文件夹ImportSQLFile/中选择:”选项,并需要导入的数据文件,

最后点击“执行”,即可导入成功。

注意事项

如果在config.inc.php文件,没有找到$cfg['UploadDir'],可以自己在文件中添加上去即可。

PHP如何对CSV大文件进行读取并导入数据库

fgetcsv 可以读取fopen打开的文件,并读取一行,

这样可以防止文件太大而内存溢出

然后每读取一定行数,入库一次,

php+mysql如何读取数据库数据

大概的基本流程如下:

连接数据库,再加一个判断。

选择数据库

读取表

输出表中数据

下面是代码:

?php

$con = mysql_connect("localhost","root","abc123");

/* localhost 是服务器 root 是用户名 abc123 是密码*/ 

if (!$con)

{

die("数据库服务器连接失败");

}

/* 这就是一个逻辑非判断,如果错误就输出括号里的字符串 */ 

@mysql_select_db("a", $con); 

/* 选择mysql服务器里的一个数据库,假设你的数据库名为 a*/

$sql = "SELECT * FROM qq"; 

/* 定义变量sql, "SELECT * FROM qq" 是SQL指令,表示选取表qq中的数据 */

$result = mysql_query($sql); //执行SQL语句,获得结果集

/*下面就是选择性的输出打印了,由于不清楚你的具体情况给你个表格打印吧*/

//打印表格 

echo "table border=1"; 

while( $row = mysql_fetch_array($result) )

/*逐行获取结果集中的记录,得到数组row */

{  

/*数组row的下标对应着数据库中的字段值 */

$id = $row['id']; 

$name = $row['name']; 

$sex = $row['sex']; 

echo "tr"; 

echo "td$id/td"; 

echo "td$name/td"; 

echo "td$sex/td"; 

echo "/tr"; 

echo "table /";

?

如果你的switch是表头,就定义这个表头字段,然后输出。


分享文章:php读取大数据库 php读取数据库显示在页面上的内容实现每3条自动换行
URL链接:http://cdxtjz.com/article/hhjcec.html

其他资讯