Maison >cadre php >PensezPHP >Comment thinkphp détermine-t-il si les résultats de la requête contiennent des données ?

Comment thinkphp détermine-t-il si les résultats de la requête contiennent des données ?

PHPz
PHPzoriginal
2023-04-11 15:08:191265parcourir

Lorsque nous utilisons le framework ThinkPHP pour les opérations de données, nous devons souvent interroger les données de la base de données. Qu'il s'agisse d'une requête à l'aide d'ORM ou d'instructions SQL manuscrites, les développeurs doivent avoir des connaissances essentielles pour déterminer si les résultats de la requête existent et comment les traiter. Cet article décrit principalement comment utiliser le framework ThinkPHP pour juger les résultats des requêtes.

1. Utiliser ORM pour les requêtes

Le framework ThinkPHP utilisé pour les opérations ORM fournit une multitude de méthodes pour les opérations de requête. Parmi ces opérations, les méthodes les plus couramment utilisées sont la méthode select et la méthode find. Parmi eux, la méthode select renvoie un ensemble de résultats et la méthode find renvoie un enregistrement de résultat. Lorsque la requête n'a aucun résultat, les résultats renvoyés par les deux sont des tableaux vides ou des valeurs nulles. Ci-dessous, nous utilisons un exemple de code pour montrer comment porter un jugement.

  1. select method query
// 查询student表中所有年龄小于18岁的学生信息
$map['age'] = ['lt', 18];
$res = Db::name('student')->where($map)->select();

if($res){ // 判断结果集是否存在
    foreach($res as $row){
        // 存在结果,对查询结果进行处理
        echo $row['name'].'的年龄是'.$row['age'].'岁'.'<br>';
    }
}else{
    // 无结果,给出提示信息
    echo '很遗憾,没有找到符合条件的学生列表';
}
  1. find method query
// 查询student表中年龄为21岁的学生信息
$map['age'] = 21;
$res = Db::name('student')->where($map)->find();

if($res){ // 判断结果记录是否存在
    // 存在结果,对查询结果进行处理
    echo $res['name'].'的年龄是'.$res['age'].'岁'.'<br>';
}else{
    // 无结果,给出提示信息
    echo '很遗憾,没有找到符合条件的学生记录';
}

2. Utilisez la requête SQL

Pour les développeurs qui sont familiers avec les opérations d'instructions SQL, les instructions de requête manuscrites sont certainement un bon choix. Lors de l'exécution de requêtes manuscrites, nous pouvons obtenir l'ensemble de résultats et les informations d'enregistrement des résultats via la méthode fetch et la méthode fetchColumn respectivement. Ci-dessous, nous utilisons un exemple de code pour montrer comment porter un jugement.

  1. requête de méthode fetch
// 查询student表中所有性别为男性的学生信息
$sql = "SELECT * FROM student WHERE gender='male'";
$res = Db::query($sql);

if($res){ // 判断结果集是否存在
    foreach($res as $row){
        // 存在结果,对查询结果进行处理
        echo $row['name'].'的性别是'.$row['gender'].'<br>';
    }
}else{
    // 无结果,给出提示信息
    echo '很遗憾,没有找到符合条件的学生列表';
}
  1. requête de méthode fetchColumn
// 查询student表中姓名为张三的学生ID
$sql = "SELECT id FROM student WHERE name='张三'";
$res = Db::query($sql);

if($res){ // 判断结果集是否存在
    // 存在结果,对查询结果进行处理
    echo '张三的学生ID是:'.$res[0]['id'];
}else{
    // 无结果,给出提示信息
    echo '很遗憾,没有找到符合条件的学生记录';
}

III Résumé

En expliquant l'utilisation des méthodes de requête ORM et SQL, nous pouvons voir que dans ces méthodes, les résultats de la requête sont le jugement, le traitement et les résultats sont tous des liens très importants. Ce n'est qu'en jugeant les résultats de la requête que nous pouvons effectuer des opérations ultérieures basées sur les résultats de la requête. Par conséquent, il est recommandé aux développeurs de prêter attention au jugement et au traitement des ensembles de résultats et des enregistrements de résultats lors de l'exécution d'opérations sur les données.

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