当前位置:首页 » 编程语言 » php批量插入数据

php批量插入数据

发布时间: 2022-07-05 13:44:33

php批量导入数据如何去重复

你好,这是我解决你这个问题的思路,希望能帮到你:比如你是根据a字段设置唯一,在每次插入之前就使用下一条需要插入的值去数据表里面查询,如果查询到了就跳出当前循环,下次循环继续(continue),希望能帮到你!

❷ Thinkphp怎么批量添加数据

<?php
class FileAction extends Action {
public function Index()
{
//print_r(__URL__);
$file = M('file');
$list = $file->select();
$this->assign('filelist',$list);
$this->display();
}

public function upload()
{
//文件上传的地址上传给它,并且上传完成后返回一个信息,让其写入数据库
//如果$_FILES为空的画,我就让action给出一个错误提示,告诉用户必须选择上传文件。如果有上传文件,则调用up方法
//$_FILES = $this->_post('file');
//print_r($_FILES);

if (empty($_FILES)) {
$this->error('必须选择上传文件');
}else {
$a = $this->Up();
//print_r($a);
if (isset($a)) {
//写入数据库方法
if($this->c($a)) {
$this->success('上传成功');
}else {
$this->error('写入数据库失败');
}
}else {
$this->error('上传文件有异常请与系统管理员联系');
}
}
}

private function c($data)
{
//print_r($data);
$file=M('file');
$num = '0';
for($i = 0; $i < count($data)-1; $i++) {
$data['filename']=$data[$i]['savename'];
if( $file->data($data)->add())
{
$num++;
}
}
if($num==count($data)-1)
{
return true;
}else {
return false;
}
}
// private function c($data)
// {
// $file = M('file');
// $data['filename'] = $data[0]['savename'];
// if ($file->data($data)->add()) {
// return true;
// }else {
// return false;
// }

// }

//在这个方法当中,完成与thinkphp相关的,文件上传类的调用
private function Up()
{
//echo '模拟上传';
//基本上传功能
//批量上传功能
//生成图片缩略图
//自定义参数上传
//上传检测(大小,后缀,mime类型)
//支持覆盖方式上传
//上传类型,附件大小,上传路径定义
//支持hash或者日期子目录保存上传文件
//上传图片的安全性检测
//对上传文件的hash检测
//上传文件名自定义规范
import('@.ORG.UploadFile');
import('@.ORG.Image');
$upload = new UploadFile();
$upload->maxSize = '1000000'; //指上传文件大小,默认为-1,不限制大小(bytes)
$upload->savePath = './Public/'; //上传保存到什么地方?路径建议保存到入口文件平级或平级目录的子目录
$upload->saveRule = 'uniqid'; //上传文件的文件名保存规则 time uniqid(默认) com_create_guid
$upload->hashType = 'md5_file';
$upload->autoCheck = true; //是否自动检测附件 默认true
$upload->uploadReplace = true; //如果存在同名文件是否进行覆盖
$upload->allowExts = array('jpg','jpeg','png','gif'); //允许上传的文件后缀
$upload->allowPath = array('image/png','image/jpg','image/pjpeg','image/gif','image/jpeg'); //检测mime类型
$upload->thumb = true; // 是否开启图片文件缩略
$upload->thumbMaxWidth = '300,500';//缩略图最大宽度
$upload->thumbMaxHeight = '200,400';//最大高度
$upload->thumbPrefix = 's-,m-';//缩略图文件前缀
//$upload->thumbSuffix = '_s,_m';//文件后缀
//$upload->thumbPath = '';//如果留空直接上传至
//$upload->thumbFile 在数据库中也存一个文件名即可
$upload->thumbRemoveOrigin = 1; //如果生成缩略图,是否删除原图
//$upload->autoSub 是否使用子目录进行保存上传文件
//$upload->subType='' 子目录创建方式默认为hash 也可以为date
//$upload->dateFormat 子目录方式date的指定日期格式
//$upload->hashLevle

//upload() 如果上传成功返回true,失败返回false

if ($upload->upload()) {
$info = $upload->getUploadFileInfo();
return $info;
}else {
//是专门来获取上传的错误信息的
$this->error($upload->getErrorMsg());
}
}

}
?>

❸ thinkphp如何同时向数据库插入多条数据

数据整理好后,批量插入可用addAll方法(仅针对Mysql数据库):

$User->addAll($data);

❹ php+mysql批量插入数据

INSERT INTO `pre_saige_hotkey` (`id`, `hotkey`, `order`) VALUES
(1, '飞狐', 2),
(2, '突然', 2);

❺ php mysql数据库 如何有条件批量插入多条数据

$value = '';$query_num = 5; //插入数量for($i=1;$i<=$query_num;$i++){ $value .= "('25','1')";}//mysql insert有插入多条语法,拼接sql语句,table_name表名 $sql = "insert into table_name (memid,online) values ".$value;//执行,插入$query_num条数据mysql_query($sql);

❻ PHP框架 Laravel Eloquent ORM 批量插入数据,怎么实现

PHP框架 Laravel Eloquent ORM 批量插入数据是通过传入数组实现的。
比如:
DB::table('users')->insert(array(
array('email' => '[email protected]', 'votes' => 0),
array('email' => '[email protected]', 'votes' => 0),
));
以上是操作表users,执行insert语句,参数是一个数组,封装了两条数据,这里可以自定义数据,insert内部就编程批量插入了。

然后调用save方法:
public static function create(array $attributes)
{
$model = new static($attributes);
$model->save();
return $model;
}

❼ php+mysql 提交 数据,textarea 怎么可以批量插入列数据。或者使用其他方法

把textarea 中需要分字段的地方加上逗号 到后台 把字串分割转为数组 , (也可以不加逗号 到后台用正则表达式把换行变成逗号)判断是否够50个元素 不够50个元素 补足50个, 然后 用循环 变成带引号的字符串 左后用一句SQL 搞定

textare 的内容

<?php
$arr=explode(',',$_POST[''a1']);//转为数组
$arrlen=50;//有50个字段
$valuestr="'".$_POST['date']."',"//先把date所谓值加进去
for($i=0;$i<$arrlen;$i++){
if(isset($arr[$i))
$valuestr.="'".$arr[$i]."',";
else{
$valuestr.="'',"
}
}
$valuestr=substr($valuestr,0,sizeof($valuestr)-1)//去掉最后的逗号
//得到一个字串,是所有字段的值用逗号分割,顺序一定要一致,而且数目不能多也不能少
$sql="INSERTINTOka_tanVALUES(".$valuest.")";
?>

❽ PHP怎么 实现批量添加数据

在HTML里这样写:

1
2
3
4
5
6

<form ........
<input type="text" name="haoma[]" />
<input type="text" name="haoma[]" />
<input type="text" name="haoma[]" />
....
第N个

foreach($_POST['haoma'] as $v){
$sql="insert into haoma values('',$v)";
.......
}

当然这样写一条一条的效率是会慢,再改一下

foreach($_POST['haoma'] as $v){
$values.="('',$v),";
}
$values=substr($values,0,strlen($values)-1);
$sql="insert into haoma values $values";
......
下面的query我就不写了

❾ php thinkphp 批量插入数据 批量添加数据

批量的话可以这样做:
<input
type='text'
name='username[]'
/><br
/>
<input
type='text'
name='username[]'
/><br
/>
<input
type='text'
name='username[]'
/><br
/>
<input
type='text'
name='username[]'
/><br
/>
<input
type='text'
name='username[]'
/><br
/>
也就是name用
数组
,这样你获取的$_POST['username']就是一个数组,然后你
foreach
循环插入就行了。

❿ PHP Excel大批量导入崩溃怎么办

项目需要批量导入excel文件,如果里面有重复的数据要怎么处理呢?每插入一次数据都要到数据库查询么?
回复内容:
项目需要批量导入excel文件,如果里面有重复的数据要怎么处理呢?每插入一次数据都要到数据库查询么?

1、如果里面有重复的数据要怎么处理呢?

1

<code>可以先判断数据库是否有该数据。</code>

2、每插入一次数据都要到数据库查询么

1

<code>是的。</code>

先去重得到没有重复的数据,再批量插入数据库。也可以尝试MYSQL中的insert ignore into或 replace into

如果查询比较慢,对不能重复的字段加唯一键,然后用INSERT IGNORE INTO
php批量导入数据出错
我现在要做的是,把一个产品数据从EXCEL中导入到PHP的MYSQL中,导入的过程中,总是会提示“Allowed memory size of 167772160 bytes exhausted (tried to allocate 689919 bytes) in D:\wamp\www\Company\proct\admin\uploadOrder.php on line 167”这个错误,然后我分成第100条导入时,就不会提示这个错误,这个是不是内存溢出,有没有好的解决方法呢?

------解决方案--------------------
php.ini中讲memory_limit选项设置大一点,然后重启apache或nginx就行了
------解决方案--------------------
文件太大了,这样的话可以用source命令直接导入!
------解决方案--------------------

热点内容
张艺谋我们一家访问人 发布:2024-05-05 12:38:05 浏览:111
美版安卓系统怎么安装 发布:2024-05-05 12:37:18 浏览:920
qq邮箱缓存地址 发布:2024-05-05 12:37:16 浏览:986
电位算法 发布:2024-05-05 12:36:01 浏览:727
我的世界清风斗罗大陆服务器地址 发布:2024-05-05 12:35:50 浏览:453
dell服务器如何进入bios 发布:2024-05-05 12:34:26 浏览:330
在线名片制作源码 发布:2024-05-05 12:29:27 浏览:447
阴阳师按键脚本 发布:2024-05-05 12:00:33 浏览:760
魔兽查脚本 发布:2024-05-05 11:54:37 浏览:39
sqlserver执行时间 发布:2024-05-05 11:50:31 浏览:649