首頁 > php框架 > ThinkPHP > 主體

thinkphp查詢資料庫傳回數組

WBOY
發布: 2023-05-26 10:05:36
原創
1277 人瀏覽過

在web開發過程中,資料庫查詢是不可避免的一環。其中,thinkphp作為一款php框架,提供了豐富的資料庫操作方法,本文即探討如何使用thinkphp查詢資料庫並傳回陣列。

一、環境配置

在使用thinkphp進行資料庫操作之前,需要先進行一些環境配置。具體步驟如下:

  1. 在thinkphp專案的根目錄下找到database.php文件,該文件是thinkphp資料庫配置文件,打開該文件,按照資料庫的相關資訊修改以下欄位:
// 数据库类型
'type'        => 'mysql',
// 服务器地址
'hostname'    => 'localhost',
// 数据库名
'database'    => 'database_name',
// 数据库用户名
'username'    => 'root',
// 数据库密码
'password'    => 'root',
// 数据库编码
'charset'     => 'utf8mb4',
// 数据库表前缀
'prefix'      => '',
登入後複製
  1. 在設定檔中,我們還需要設定資料庫的連線資訊。可以在config.php中加入以下程式碼:
// 数据库连接参数配置
'db_config'       => [
    // 数据库类型
    'type'        => 'mysql',
    // 服务器地址
    'hostname'    => 'localhost',
    // 数据库名
    'database'    => 'database_name',
    // 数据库用户名
    'username'    => 'root',
    // 数据库密码
    'password'    => 'root',
    // 数据库编码
    'charset'     => 'utf8mb4',
    // 数据库表前缀
    'prefix'      => '',
    // 数据库连接参数
    'params'    => [
        PDO::ATTR_CASE => PDO::CASE_NATURAL, // 不进行大小写转换
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, // 抛出异常
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // 默认以关联数组形式返回数据
    ],
],
登入後複製
  1. #在config.php中加入以下程式碼啟用資料庫設定及參數:
// 数据库相关配置
'default_return_type' => 'array', // 默认返回数据集类型为数组

// 数据库配置
'db_config'       => require_once(APP_PATH.'database.php'),
'database'        => $db_config['database'], // 数据库名称
'prefix'          => $db_config['prefix'], // 表前缀
登入後複製
  1. 至此,我們的環境配置完成。

二、資料庫查詢操作

想要查詢資料庫並傳回數組,我們需要使用thinkphp封裝的Db類別提供的相關方法。以下以查詢用戶表為例。

  1. 查詢所有使用者
$users = Db::name('user')->select();
dump($users);
登入後複製

在以上程式碼中,Db::name('user')表示查詢user表,select ()表示查詢user表中的所有數據,並將結果存到$users變數中。 dump()函數可以輸出變數的詳細信息,便於我們偵錯程式碼。

  1. 查詢單一用戶
$user = Db::name('user')->where('id', 1)->find();
dump($user);
登入後複製

在以上程式碼中,where()函數表示查詢id為1的用戶,find() 函數表示查詢並傳回一條資料。 $user變數中儲存的即為查詢結果。

  1. 查詢資料總數
$count = Db::name('user')->count();
echo $count;
登入後複製

以上程式碼中,count()函數可以傳回user表中資料的總數。我們可以使用echo將其輸出。

  1. 查詢使用者名稱
$usernames = Db::name('user')->column('name');
dump($usernames);
登入後複製

以上程式碼中,column('name')表示只查詢user表中的name列,$usernames變數中儲存的即為查詢結果。

  1. 查詢使用者姓名和年齡
$userinfos = Db::name('user')->field('name,age')->select();
dump($userinfos);
登入後複製

以上程式碼中,field('name,age')表示只查詢user表中的name和age兩列,$userinfos變數中儲存的即為查詢結果。

  1. 查詢年齡大於20歲的用戶
$users = Db::name('user')->where('age', '>', 20)->select();
dump($users);
登入後複製

以上程式碼中,where('age', '>', 20)表示查詢age大於20的用戶,$users變數中儲存的即為查詢結果。

  1. 使用原生SQL語句查詢
$users = Db::query('select * from user');
dump($users);
登入後複製

以上程式碼中,Db::query()可以使用原生SQL語句查詢資料庫。

三、查詢結果的回傳類型

thinkphp支援多種查詢結果的回傳類型。下面介紹一些常見的回傳類型。

  1. 陣列

以上程式碼中我們已經了解到,thinkphp預設會傳回陣列類型的查詢結果。可以在config.php中加入以下程式碼,指定預設回傳方式:

'default_return_type' => 'array',
登入後複製
  1. 物件

我們可以設定預設回傳物件類型的查詢結果。在config.php中加入以下程式碼:

'default_return_type' => 'object',
登入後複製
  1. JSON

#我們可以設定傳回json類型的查詢結果。在config.php中加入以下程式碼:

'default_return_type' => 'json',
登入後複製

四、總結

#本文主要介紹如何使用thinkphp查詢資料庫並傳回陣列。其中,我們了解了環境配置、資料庫查詢操作、查詢結果的回傳類型等內容。在實際開發過程中,我們需要根據特定專案需求,選擇適當的查詢方式和結果回傳類型。透過學習本文,相信您對thinkphp的資料庫操作有了更深入的了解。

以上是thinkphp查詢資料庫傳回數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板