當前位置:首頁 » 編程語言 » 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-04-25 21:15:06 瀏覽:387
查ip地址伺服器數量 發布:2024-04-25 20:49:48 瀏覽:620
安卓手機單核性能為什麼不高 發布:2024-04-25 20:48:07 瀏覽:56
群暉php 發布:2024-04-25 20:00:35 瀏覽:884
怎麼查看我的wifi密碼 發布:2024-04-25 18:54:43 瀏覽:757
fckeditorforjava 發布:2024-04-25 18:50:27 瀏覽:624
優酷上傳視頻需要多久 發布:2024-04-25 18:33:05 瀏覽:675
inf12編譯器 發布:2024-04-25 18:15:39 瀏覽:99
撲克總督3安卓哪裡下載 發布:2024-04-25 18:10:02 瀏覽:395
什麼網站是php 發布:2024-04-25 18:03:42 瀏覽:221