日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php记录读取数据类型,数据读取 · ThinkPHP 3.2.3开发手册 · 看云

發布時間:2024/10/8 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php记录读取数据类型,数据读取 · ThinkPHP 3.2.3开发手册 · 看云 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

# 數據讀取

在ThinkPHP中讀取數據的方式很多,通常分為讀取數據、讀取數據集和讀取字段值。

數據查詢方法支持的連貫操作方法有:

連貫操作 作用 支持的參數類型where 用于查詢或者更新條件的定義 字符串、數組和對象table 用于定義要操作的數據表名稱 字符串和數組alias 用于給當前數據表定義別名 字符串field 用于定義要查詢的字段(支持字段排除) 字符串和數組order 用于對結果排序 字符串和數組group 用于對查詢的group支持 字符串having 用于對查詢的having支持 字符串join 用于對查詢的join支持 字符串和數組union 用于對查詢的union支持 字符串、數組和對象distinct 用于查詢的distinct支持 布爾值lock 用于數據庫的鎖機制 布爾值cache 用于查詢緩存 支持多個參數relation 用于關聯查詢(需要關聯模型支持) 字符串result 用于返回數據轉換 字符串scope 用于命名范圍 字符串、數組bind 用于數據綁定操作 數組comment 用于SQL注釋 字符串fetchSql 不執行SQL而只是返回SQL 布爾值> 注意:某些情況下有些連貫操作是無效的,例如limit方法對find方法是無效的。

## 讀取數據

讀取數據是指讀取數據表中的一行數據(或者關聯數據),主要通過`find`方法完成,例如:

```

$User = M("User"); // 實例化User對象

// 查找status值為1name值為think的用戶數據

$data = $User->where('status=1 AND name="thinkphp"')->find();

dump($data);

```

find方法查詢數據的時候可以配合相關的連貫操作方法,其中最關鍵的則是where方法,如何使用where方法我們會在[查詢語言](#)章節中詳細描述。

如果查詢出錯,find方法返回false,如果查詢結果為空返回NULL,查詢成功則返回一個關聯數組(鍵值是字段名或者別名)。 如果上面的查詢成功的話,會輸出:

```

array (size=3)

'name' => string 'thinkphp' (length=8)

'email' => string 'thinkphp@gmail.com' (length=18)

'status'=> int 1

```

> 即使滿足條件的數據不止一個,find方法也只會返回第一條記錄(可以通過order方法排序后查詢)。

還可以用data方法獲取查詢后的數據對象(查詢成功后)

```

$User = M("User"); // 實例化User對象

// 查找status值為1name值為think的用戶數據

$User->where('status=1 AND name="thinkphp"')->find();

dump($User->data());

```

## 讀取數據集

讀取數據集其實就是獲取數據表中的多行記錄(以及關聯數據),使用`select`方法,使用示例:

```

$User = M("User"); // 實例化User對象

// 查找status值為1的用戶數據 以創建時間排序 返回10條數據

$list = $User->where('status=1')->order('create_time')->limit(10)->select();

```

如果查詢出錯,select的返回值是false,如果查詢結果為空,則返回NULL,否則返回二維數組。

## 讀取字段值

讀取字段值其實就是獲取數據表中的某個列的多個或者單個數據,最常用的方法是 `getField`方法。

示例如下:

```

$User = M("User"); // 實例化User對象

// 獲取ID為3的用戶的昵稱

$nickname = $User->where('id=3')->getField('nickname');

```

默認情況下,當只有一個字段的時候,返回滿足條件的數據表中的該字段的第一行的值。

如果需要返回整個列的數據,可以用:

```

$User->getField('id',true); // 獲取id數組

//返回數據格式如array(1,2,3,4,5)一維數組,其中value就是id列的每行的值

```

如果傳入多個字段的話,默認返回一個關聯數組:

```

$User = M("User"); // 實例化User對象

// 獲取所有用戶的ID和昵稱列表

$list = $User->getField('id,nickname');

//兩個字段的情況下返回的是array(`id`=>`nickname`)的關聯數組,以id的值為key,nickname字段值為value

```

這樣返回的list是一個數組,鍵名是用戶的id字段的值,鍵值是用戶的昵稱nickname。

如果傳入多個字段的名稱,例如:

```

$list = $User->getField('id,nickname,email');

//返回的數組格式是array(`id`=>array(`id`=>value,`nickname`=>value,`email`=>value))是一個二維數組,key還是id字段的值,但value是整行的array數組,類似于select()方法的結果遍歷將id的值設為數組key

```

返回的是一個二維數組,類似select方法的返回結果,區別的是這個二維數組的鍵名是用戶的id(準確的說是getField方法的第一個字段名)。

如果我們傳入一個字符串分隔符:

```

$list = $User->getField('id,nickname,email',':');

```

那么返回的結果就是一個數組,鍵名是用戶id,鍵值是 `nickname:email`的輸出字符串。

getField方法還可以支持限制數量,例如:

```

$this->getField('id,name',5); // 限制返回5條記錄

$this->getField('id',3); // 獲取id數組 限制3條記錄

```

可以配合使用order方法使用。更多的查詢方法可以參考[查詢語言](#)章節。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的php记录读取数据类型,数据读取 · ThinkPHP 3.2.3开发手册 · 看云的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。