php 批量数据插入数据表if ($strleng100){
//如果大于100条就每次写入100,休息1秒,然后继续写,直到写完为止
$write_count = floor($strleng/100);
while ($write_count0){
for ($i=0;$i100;$i){
echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3)";//写100次就休息
【php插入数据类 php怎么写数据库】}
//echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);";这样可以一次插入多条数据,效率更高
//参考
$write_count -=1 ;
sleep(1);
echo '休息1秒';
}
}
PHP实现的pdo连接数据库并插入数据功能简单示例本文实例讲述了PHP实现的pdo连接数据库并插入数据功能 。分享给大家供大家参考,具体如下:
创建配置文件
pdo_config.php
?php
$db_Type
=
"mysql";//数据库类型
$host
=
"localhost";//主机名
$dbName
=
"test";//数据库名
$userName
=
"root";//用户名
$password
=
"root";//密码
$dsn
=
"{$db_Type}:host={$host};dbname={$dbName}";
?
pdo插入数据库
pdo_insert.php
?php
header('Content-type:text/html;
charset=utf-8');
require
'pdo_config.php';
try{
$pdo
=
new
PDO
($dsn,$userName,$password);//创建一个连接对象
$pdo-exec('set
names
utf8');//设置编码
$sql
=
"INSERT
student
(name,email)
VALUES
('李四','123@qq.com')";
$pdo-exec($sql);
}catch
(PDOException
$e){
die('操作失败'.$e-getMessage());
}
//关闭连接
$pdo
=
null;
?
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《php mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助 。
您可能感兴趣的文章:关于php连接mssql:pdo
odbc
sql
serverPHP5中使用PDO连接数据库的方法PHP中PDO连接数据库中各种DNS设置方法小结ThinkPHP框架基于PDO方式连接数据库操作示例PHP使用ODBC连接数据库的方法tp5(thinkPHP5)框架连接数据库的方法示例PHP7使用ODBC连接SQL
Server2008
R2数据库示例【基于thinkPHP5.1框架】tp5(thinkPHP5)操作mongoDB数据库的方法thinkPHP5实现数据库添加内容的方法tp5(thinkPHP5)框架数据库Db增删改查常见操作总结PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
如何利用php读取txt文件再将数据插入到数据库serial_number.txtphp插入数据类的示例内容php插入数据类:
serial_number.txt:
DM00001A11 0116,
SN00002A11 0116,
AB00003A11 0116,
PV00004A11 0116,
OC00005A11 0116,
IX00006A11 0116,
创建数据表:
create table serial_number(
id int primary key auto_increment not null,
serial_number varchar(50) not null
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
php代码如下:
$conn = mysql_connect('127.0.0.1','root','') or die("Invalid query: " . mysql_error());
mysql_select_db('test', $conn) or die("Invalid query: " . mysql_error());
$content = file_get_contents("serial_number.txt");
$contents= explode(",",$content);//explode()函数以","为标识符进行拆分
foreach ($contents as $k = $v)//遍历循环
{
$id = $k;
$serial_number = $v;
mysql_query("insert into serial_number (`id`,`serial_number`)
VALUES('$id','$serial_number')");
}
备注:方法有很多种php插入数据类,我这里是在拆分txt文件为数组后,然后遍历循环得到php插入数据类的数组,每循环一次,往数据库中插入一次 。
再给大家分享一个支持大文件导入php插入数据类的
?php
/**
* $splitChar 字段分隔符
* $file 数据文件文件名
* $table 数据库表名
* $conn 数据库连接
* $fields 数据对应的列名
* $insertType 插入操作类型,包括INSERT,REPLACE
*/
function loadTxtDataIntoDatabase($splitChar,$file,$table,$conn,$fields=array(),$insertType='INSERT'){
if(empty($fields)) $head = "{$insertType} INTO `{$table}` VALUES('";
else $head = "{$insertType} INTO `{$table}`(`".implode('`,`',$fields)."`) VALUES('";//数据头
$end = "')";
$sqldata = https://www.04ip.com/post/trim(file_get_contents($file));
if(preg_replace('/\s*/i','',$splitChar) == '') {
$splitChar = '/(\w )(\s )/i';
$replace = "$1','";
$specialFunc = 'preg_replace';
}else {
$splitChar = $splitChar;
$replace = "','";
$specialFunc = 'str_replace';
}
//处理数据体,二者顺序不可换,否则空格或Tab分隔符时出错
$sqldata = https://www.04ip.com/post/preg_replace('/(\s*)(\n )(\s*)/i','\'),(\'',$sqldata);//替换换行
$sqldata = https://www.04ip.com/post/$specialFunc($splitChar,$replace,$sqldata);//替换分隔符
$query = $head.$sqldata.$end;//数据拼接
if(mysql_query($query,$conn)) return array(true);
else {
return array(false,mysql_error($conn),mysql_errno($conn));
}
}
//调用示例1
require 'db.php';
$splitChar = '|';//竖线
$file = 'sqldata1.txt';
$fields = array('id','parentid','name');
$table = 'cengji';
$result = loadTxtDataIntoDatabase($splitChar,$file,$table,$conn,$fields);
if (array_shift($result)){
echo 'Success!br/';
}else {
echo 'Failed!--Error:'.array_shift($result).'br/';
}
/*sqlda ta1.txt
1|0|A
2|1|B
3|1|C
4|2|D
-- cengji
CREATE TABLE `cengji` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parentid` int(11) NOT NULL,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `parentid_name_unique` (`parentid`,`name`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1602 DEFAULT CHARSET=utf8
*/
//调用示例2
require 'db.php';
$splitChar = ' ';//空格
$file = 'sqldata2.txt';
$fields = array('id','make','model','year');
$table = 'cars';
$result = loadTxtDataIntoDatabase($splitChar,$file,$table,$conn,$fields);
if (array_shift($result)){
echo 'Success!br/';
}else {
echo 'Failed!--Error:'.array_shift($result).'br/';
}
/* sqldata2.txt
11 Aston DB19 2009
12 Aston DB29 2009
13 Aston DB39 2009
-- cars
CREATE TABLE `cars` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`make` varchar(16) NOT NULL,
`model` varchar(16) DEFAULT NULL,
`year` varchar(16) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8
*/
//调用示例3
require 'db.php';
$splitChar = '';//Tab
$file = 'sqldata3.txt';
$fields = array('id','make','model','year');
$table = 'cars';
$insertType = 'REPLACE';
$result = loadTxtDataIntoDatabase($splitChar,$file,$table,$conn,$fields,$insertType);
if (array_shift($result)){
echo 'Success!br/';
}else {
echo 'Failed!--Error:'.array_shift($result).'br/';
}
/* sqldata3.txt
11AstonDB192009
12AstonDB292009
13AstonDB392009
*/
//调用示例3
require 'db.php';
$splitChar = '';//Tab
$file = 'sqldata3.txt';
$fields = array('id','value');
$table = 'notExist';//不存在表
$result = loadTxtDataIntoDatabase($splitChar,$file,$table,$conn,$fields);
if (array_shift($result)){
echo 'Success!br/';
}else {
echo 'Failed!--Error:'.array_shift($result).'br/';
}
//附:db.php
/*//注释这一行可全部释放
?
?php
static $connect = null;
static $table = 'jilian';
if(!isset($connect)) {
$connect = mysql_connect("localhost","root","");
if(!$connect) {
$connect = mysql_connect("localhost","Zjmainstay","");
}
if(!$connect) {
die('Can not connect to database.Fatal error handle by /test/db.php');
}
mysql_select_db("test",$connect);
mysql_query("SET NAMES utf8",$connect);
$conn = $connect;
$db = $connect;
}
?
//*/
.
-- 数据表结构:
-- 100000_insert,1000000_insert
CREATE TABLE `100000_insert` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parentid` int(11) NOT NULL,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
100000 (10万)行插入:Insert 100000_line_data use 2.5534288883209 seconds
1000000(100万)行插入:Insert 1000000_line_data use 19.677318811417 seconds
//可能报错:MySQL server has gone away
//解决:修改my.ini/my.cnfmax_allowed_packet=20M
PHP 向数据库插入数据,为什么文字类型的插入不了,数字的却可以 。首先 你看看你的表的字符集是不是utf-8的也就是这个utf8_general_ci字符集才能存中文
关于php插入数据类和php怎么写数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 电视屏上下变色怎么调,电视上下颜色不一样怎么恢复
- 手机文字清零了怎么办,手机文字不小心删除怎么恢复
- 斗鱼直播tv如何直播,斗鱼zsmj直播
- c语言程序暂停函数 c语言中暂停函数
- Go语言IO框架,go语言io包
- ios计划表软件app,苹果手机计划软件哪个好
- go语言模块化开发 golang 模块化开发
- 机械编程用什么cpu,机械编程有前途吗
- python函数周期 python第几周