php往空數(shù)組插數(shù)據(jù) php數(shù)組為空

ThinkPHP add方法 使用以后插入空數(shù)據(jù)

添加數(shù)據(jù)add方法是CURD(Create,Update,Read,Delete / 創(chuàng)建,修改,讀取,刪除)中的 Create的實(shí)現(xiàn),ThinkPHP 支持以普通數(shù)組方式和面向?qū)ο蠓绞綄?shù)據(jù)寫入數(shù)據(jù)表。

創(chuàng)新互聯(lián)長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為云縣企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),云縣網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

現(xiàn)在以操作 user 表數(shù)據(jù)的例子為例,來演示如何在 ThinkPHP 中實(shí)現(xiàn)對數(shù)據(jù)表的數(shù)據(jù)添加操作。

數(shù)組方式添加數(shù)據(jù)

例子: 在 IndexAction 控制器(Lib/Action/IndexAction.class.php),添加 insert()操作:

public function insert(){

header("Content-Type:text/html; charset=utf-8");

$Dao = M("User"); // 實(shí)例化模型類

// 構(gòu)建寫入的數(shù)據(jù)數(shù)組

$data["username"] = "休假";

$data["password"] = md5("123456");

$data["email"] = "123456@163.com";

$data["regdate"] = time();

// 寫入數(shù)據(jù)

if($lastInsId = $Dao-add($data)){

echo "插入數(shù)據(jù) id 為:$lastInsId";

} else {

$this-error('數(shù)據(jù)寫入錯誤!');

}

}

語法解讀

M("User") 用于高效實(shí)例化一個數(shù)據(jù)模型(M 是 new Model 的簡寫,稱為快捷方法),參數(shù)為要操作的表名。

接下來構(gòu)建要保存數(shù)據(jù)的數(shù)組 $data 。

最后是用 add() 方法將數(shù)據(jù)寫入庫表,由于使用的是 M快捷方法,需要將 $data 數(shù)組傳入 add() 方法。

add() 方法如果添加數(shù)據(jù)記錄成功,返回的是新數(shù)據(jù)記錄主鍵,可直接得到。

該例子實(shí)際運(yùn)行的 SQL 為:

INSERT INTO user(username,password,email,regdate) VALUES ('休假','e10adc3949ba59abbe56e057f20f883e',

123456@163.com',1283612673)

對象方式添加數(shù)據(jù)

上面的方式是以構(gòu)造數(shù)據(jù)數(shù)組的方式,將數(shù)據(jù)以參數(shù)形式傳入add方法寫入數(shù)據(jù)表。ThinkPHP 也支持以對象的方式將數(shù)據(jù)寫入數(shù)據(jù)表,將上面的代碼更改為:

public function insert(){

header("Content-Type:text/html; charset=utf-8");

$Dao = M("User"); // 實(shí)例化模型類

// 數(shù)據(jù)對象賦值

$Dao-username = "休假";

$Dao-password = md5("123456");

$Dao-email = "123456@163.com";

$Dao-regdate = time();

// 寫入數(shù)據(jù)

if($lastInsId = $Dao-add()){

echo "插入數(shù)據(jù) id 為:$lastInsId";

} else {

$this-error('數(shù)據(jù)寫入錯誤!');

}

}

對象方式的數(shù)據(jù)以數(shù)據(jù)對象方式賦值,調(diào)用 add 方法寫入數(shù)據(jù)時不需要傳遞參數(shù)。

表單數(shù)據(jù)智能寫入create 方法

除了手動構(gòu)造入庫的數(shù)據(jù)集之外,ThinkPHP 還提供了自動創(chuàng)建數(shù)據(jù)對象的create() 方法。create() 方法將自動收集提交的表單數(shù)據(jù)并創(chuàng)建數(shù)據(jù)對象而無需人工干預(yù),這在表單數(shù)據(jù)字段非常多的情況下更具優(yōu)勢。

將前文寫入表單數(shù)據(jù)的例子用 create() 來實(shí)現(xiàn):

public function insert2(){

header("Content-Type:text/html; charset=utf-8");

$Dao = M("User");

if($Dao-create()){

$Dao-password = md5($_POST["password"]);

$Dao-regdate = time();

if($lastInsId = $Dao-add()){

echo "插入數(shù)據(jù) id 為:$lastInsId";

} else {

echo "數(shù)據(jù)寫入錯誤!";

}

}else{

exit($Dao-getError().' [ a href="javascript:history.back()"返 回/a ]');

}

}

create() 創(chuàng)建數(shù)據(jù)對象后,將自動收集提交過來的表單數(shù)據(jù)。而表單數(shù)據(jù)可能需要經(jīng)過一定加工(例如將密碼加密)才能寫入數(shù)據(jù)表,所以可以對數(shù)據(jù)對象的成員屬性值根據(jù)進(jìn)行修改或添加刪除等。

提示:create() 創(chuàng)建的數(shù)據(jù)對象存放于內(nèi)存,在執(zhí)行入庫動作(add() 或 save())之前,都可以進(jìn)行修改。

在上面的例子里,create()方法 的行為和 date()方法 是一致。但 date() 方法只是簡單的創(chuàng)建數(shù)據(jù)對象,但 create() 方法還具備:

令牌驗(yàn)證

數(shù)據(jù)自動驗(yàn)證

字段映射支持

字段類型檢查

數(shù)據(jù)自動完成

等各種高級的數(shù)據(jù)功能,要完成這些高級數(shù)據(jù)模型功能,需要使用 D方法實(shí)例化數(shù)據(jù)模型。

PHP中如何把一個數(shù)組中的數(shù)據(jù)取出來并插入到數(shù)據(jù)庫中

沒用框架就直接拼接sql語句啊

$sql = 'insert into tablename(field1, field2, field3) values(val1, val2, val3), (val1, val2,val3)';

主要就是拼接values后面的內(nèi)容,一個括號一條數(shù)據(jù),拼接完執(zhí)行數(shù)據(jù)庫插入操作就行了;

如果數(shù)據(jù)量很大,注意每次拼接的sql不要太長了,數(shù)據(jù)庫執(zhí)行的sql也是有長度限制的

php如何實(shí)現(xiàn)往數(shù)組中添加元素又不改變下標(biāo)的方法?

在PHP中,使用array_push()函數(shù)可以向數(shù)組中添加元素,將傳入的元素添加到某個數(shù)組末尾,并返回?cái)?shù)組新的單元總數(shù).

語法:int arrar_push(array array,mixed var[,mixed...])

說明:參數(shù)array為指定的數(shù)組,參數(shù)var是加入數(shù)組中的值.

使用array_push()函數(shù)向數(shù)組中添加元素,并輸出添加元素后的數(shù)組,代碼如下

$array = array(0='迅美科技',1='網(wǎng)站建設(shè)')

echo "添加前的數(shù)組元素:"

print_r($array);

echo"

";

array_push($array,'業(yè)務(wù)代表:李生')

echo"添加后的數(shù)組元素:"

print_r($array);

?

運(yùn)行代碼后的結(jié)果為:

添加前的數(shù)組元素:Array([0]=迅美科技 [1]=網(wǎng)站建設(shè))

添加后的數(shù)組元素:Array([0]=迅美科技 [1]=網(wǎng)站建設(shè) [2]=業(yè)務(wù)代表:李生)關(guān)于這個問題,差不多就是這個樣子的了,你如果不明白,可以自己去后盾瞅瞅,我這些都是在后盾上學(xué)的,有空可以去看一下,就算不喜歡也沒關(guān)系啊,何樂而不為呢?

php中怎么讓字符串存到一個空數(shù)組中?

$mixValue?=?"helloworld";

$arr?=?array();

//

$arr[0]?=?$mixValue;

//

array_push($arr,$mixValue);

var_dump($arr);

php數(shù)組插入數(shù)據(jù)庫這個功能該怎么實(shí)現(xiàn)

把數(shù)組轉(zhuǎn)成json或其他字符串在寫入數(shù)據(jù)庫,不轉(zhuǎn)換字符串無法寫入或自由Array,我是沒試過,反正我知道是無法寫入,我都是轉(zhuǎn)成json后在寫入。

?php

$array=array(

"data1"="data1",

"data2"=array(

"data22"="data22",

"data222"="data222"

),

"data3"="data3"

);

$encode=json_encode($array);?//數(shù)據(jù)庫寫入轉(zhuǎn)換

$addslashes=addslashes(json_encode($array));?//如果只用英文字符的話可以直接用上面,用中文或有帶斜杠/,PHP寫入數(shù)據(jù)庫的時候會去掉斜杠/,所以addslashes函數(shù)在轉(zhuǎn)換下寫入

$decode=json_decode($array,true);?//數(shù)據(jù)庫讀取轉(zhuǎn)換

?

php數(shù)組怎么添加一個元素

有兩種方法添加一個元素:分別是 push()和arr[]

1、Php代碼

$arr = array();

array_push($arr, el1, el2 ... eln);

2、Php代碼

$arr = array();

$arr[] = el1;

$arr[] = el2;

...

$arr[] = eln;

擴(kuò)展資料

對于任何的類型:整型、浮點(diǎn)、字符串、布爾和資源,如果將一個值轉(zhuǎn)換為數(shù)組,將得到一個僅有一個元素的數(shù)組(其下標(biāo)為 0),該元素即為此標(biāo)量的值。

如果將一個對象轉(zhuǎn)換成一個數(shù)組,所得到的數(shù)組的元素為該對象的屬性(成員變量),其鍵名為成員變量名。

如果將一個 NULL 值轉(zhuǎn)換成數(shù)組,將得到一個空數(shù)組。

PHP的特性包括:

1. PHP 獨(dú)特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法。

2. PHP可以比CGI或者Perl更快速的執(zhí)行動態(tài)網(wǎng)頁——動態(tài)頁面方面,與其他的編程語言相比,

PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成htmL標(biāo)記的CGI要高許多;

PHP具有非常強(qiáng)大的功能,所有的CGI的功能PHP都能實(shí)現(xiàn)。

3. PHP支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。

4. 最重要的是PHP可以用C、C++進(jìn)行程序的擴(kuò)展!

參考資料:百度百科-PHP

網(wǎng)頁標(biāo)題:php往空數(shù)組插數(shù)據(jù) php數(shù)組為空
標(biāo)題網(wǎng)址:http://muchs.cn/article34/dosdepe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、關(guān)鍵詞優(yōu)化Google、網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司