Maison  >  Article  >  cadre php  >  La base de données de requête thinkphp renvoie un tableau

La base de données de requête thinkphp renvoie un tableau

WBOY
WBOYoriginal
2023-05-26 10:05:361273parcourir

Dans le processus de développement Web, la requête de base de données est une partie inévitable. Parmi eux, thinkphp, en tant que framework PHP, fournit une multitude de méthodes de fonctionnement de base de données. Cet article explique comment utiliser thinkphp pour interroger la base de données et renvoyer un tableau.

1. Configuration de l'environnement

Avant d'utiliser thinkphp pour les opérations de base de données, vous devez d'abord effectuer une configuration de l'environnement. Les étapes spécifiques sont les suivantes :

  1. Trouvez le fichier database.php dans le répertoire racine du projet thinkphp. Ce fichier est le fichier de configuration de la base de données thinkphp. Ouvrez le fichier et modifiez les champs suivants en fonction. aux informations pertinentes de la base de données : li>
// 数据库类型
'type'        => 'mysql',
// 服务器地址
'hostname'    => 'localhost',
// 数据库名
'database'    => 'database_name',
// 数据库用户名
'username'    => 'root',
// 数据库密码
'password'    => 'root',
// 数据库编码
'charset'     => 'utf8mb4',
// 数据库表前缀
'prefix'      => '',
    database.php文件,该文件是thinkphp数据库配置文件,打开该文件,按照数据库的相关信息修改以下字段:
// 数据库连接参数配置
'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. config.php中添加如下代码启用数据库配置及参数:
$users = Db::name('user')->select();
dump($users);
  1. 至此,我们的环境配置完成。

二、数据库查询操作

想要查询数据库并返回数组,我们需要使用thinkphp封装的Db类提供的相关方法。下面以查询用户表为例。

  1. 查询所有用户
$user = Db::name('user')->where('id', 1)->find();
dump($user);

以上代码中,Db::name('user')表示查询user表,select()表示查询user表中的所有数据,并将结果存到$users变量中。dump()函数可以输出变量的详细信息,便于我们调试代码。

  1. 查询单个用户
$count = Db::name('user')->count();
echo $count;

以上代码中,where()函数表示查询id为1的用户,find()函数表示查询并返回一条数据。$user变量中存储的即为查询结果。

  1. 查询数据总数
$usernames = Db::name('user')->column('name');
dump($usernames);

以上代码中,count()函数可以返回user表中数据的总数。我们可以使用echo将其输出。

  1. 查询用户姓名
$userinfos = Db::name('user')->field('name,age')->select();
dump($userinfos);

以上代码中,column('name')表示只查询user表中的name列,$usernames变量中存储的即为查询结果。

  1. 查询用户姓名和年龄
$users = Db::name('user')->where('age', '>', 20)->select();
dump($users);

以上代码中,field('name,age')表示只查询user表中的name和age两列,$userinfos变量中存储的即为查询结果。

  1. 查询年龄大于20岁的用户
$users = Db::query('select * from user');
dump($users);

以上代码中,where('age', '>', 20)表示查询age大于20的用户,$users变量中存储的即为查询结果。

  1. 使用原生SQL语句查询
'default_return_type' => 'array',

以上代码中,Db::query()可以使用原生SQL语句查询数据库。

三、查询结果的返回类型

thinkphp支持多种查询结果的返回类型。下面介绍一些常见的返回类型。

  1. 数组

以上代码中我们已经了解到,thinkphp默认返回数组类型的查询结果。可以在config.php中添加如下代码,指定默认返回方式:

'default_return_type' => 'object',
  1. 对象

我们可以设置默认返回对象类型的查询结果。在config.php中添加如下代码:

'default_return_type' => 'json',
  1. JSON

我们可以设置返回json类型的查询结果。在config.phpDans le fichier de configuration, nous devons également configurer les informations de connexion de la base de données. Vous pouvez ajouter le code suivant dans config.php : rrreee

    Ajoutez le code suivant dans config.php Activer la configuration et les paramètres de la base de données :
rrreee

    À ce stade, la configuration de notre environnement est terminée.

2. Opération de requête de base de données

Pour interroger la base de données et renvoyer un tableau, nous devons utiliser les méthodes pertinentes fournies par la classe Db encapsulée par thinkphp. Ce qui suit prend l'exemple de l'interrogation de la table utilisateur. 🎜🎜🎜Interroger tous les utilisateursrrreee🎜Dans le code ci-dessus, Db::name('user') signifie interroger la table utilisateur, select() Indique l'interrogation de toutes les données de la table utilisateur et le stockage des résultats dans la variable <code>$users. La fonction dump() peut générer des informations détaillées sur les variables, ce qui nous permet de déboguer plus facilement le code. 🎜
    🎜Interroger un seul utilisateur
rrreee🎜Dans le code ci-dessus, la fonction where() signifie interroger l'utilisateur avec l'identifiant 1, find La fonction () représente l'interrogation et le renvoi d'une donnée. Ce qui est stocké dans la variable $user est le résultat de la requête. 🎜
    🎜Requête du nombre total de données
rrreee🎜Dans le code ci-dessus, la fonction count() peut renvoyer le nombre total de données dans la table des utilisateurs. Nous pouvons utiliser echo pour le sortir. 🎜
    🎜Requête du nom d'utilisateur
rrreee🎜Dans le code ci-dessus, column('name') signifie interroger uniquement la colonne de nom dans l'utilisateur table Les résultats de la requête sont stockés dans la variable $usernames. 🎜
    🎜Requête du nom et de l'âge de l'utilisateur
rrreee🎜Dans le code ci-dessus, field('name,age') signifie uniquement interroger l'utilisateur table Les colonnes name et age sont les résultats de la requête stockés dans la variable $userinfos. 🎜
    🎜Interrogez les utilisateurs âgés de plus de 20 ans
rrreee🎜Dans le code ci-dessus, where('age', '>', 20) signifie interroger les utilisateurs dont l'âge est supérieur à 20 ans. Les résultats de la requête sont stockés dans la variable $users. 🎜
    🎜Utilisez des instructions SQL natives pour interroger
rrreee🎜Dans le code ci-dessus, Db::query() peut utiliser des instructions SQL natives pour interroger la base de données. 🎜🎜3. Type de retour des résultats de requête🎜🎜thinkphp prend en charge plusieurs types de retour de résultats de requête. Voici quelques types de retours courants. 🎜🎜🎜Array🎜Dans le code ci-dessus, nous avons appris que thinkphp renvoie par défaut les résultats de requête de type tableau. Vous pouvez ajouter le code suivant dans config.php pour spécifier la méthode de retour par défaut : 🎜rrreee
    🎜Object
🎜Nous pouvons définir la méthode par défaut renvoie les résultats de la requête de type d’objet. Ajoutez le code suivant dans config.php : 🎜rrreee
    🎜JSON
🎜Nous pouvons définir les résultats de la requête pour renvoyer le type json. Ajoutez le code suivant à config.php : 🎜rrreee🎜 IV Résumé🎜🎜Cet article présente principalement comment utiliser thinkphp pour interroger la base de données et renvoyer un tableau. Parmi eux, nous avons découvert la configuration de l'environnement, les opérations de requête de base de données, les types de retour de résultats de requête, etc. Dans le processus de développement actuel, nous devons choisir la méthode de requête et le type de résultat appropriés en fonction des besoins spécifiques du projet. En étudiant cet article, je pense que vous aurez une compréhension plus approfondie des opérations de base de données de thinkphp. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn