Maison > Tutoriel CMS > EmpireCMS > le corps du texte

Terminez l'utilisation de fetch() et fetch1() dans le développement secondaire d'Imperial CMS en 10 minutes

silencement
Libérer: 2019-11-28 13:50:30
avant
3373 Les gens l'ont consulté

Terminez l'utilisation de fetch() et fetch1() dans le développement secondaire d'Imperial CMS en 10 minutes

fetch() et fetch1() sont des fonctions couramment utilisées dans le développement secondaire d'Imperial CMS. Ce qui suit présente les méthodes d'écriture correctes et certaines utilisations de fetch() et fetch1() :
(Remarque : les fonctions fetch() et fetch1() se trouvent dans le fichier e/class/db_sql.php)

1.fetch()

Généralement, nous l'utilisons pour boucler des listes ou des colonnes Plusieurs informations sont affichées ; par exemple, l'exemple suivant obtient tous les ID de membre et noms d'utilisateur dont l'ID de groupe de membres est 1 ; le paramètre de fetch() est le résultat de l'exécution de l'instruction SQL ; query() est exécuté en premier ; puis le résultat de l'exécution de query() est utilisé comme paramètre pour fetch();

le code est le suivant :

query( "select userid,username from {$dbtbpre}enewsmember where groupid=1" );
while ( $r = $empire ->fetch( $sql )){
echo $r [userid]. '---' . $r [username].'
';
}
db_close();
$empire =null;
Copier après la connexion

Il est recommandé d'étudier " Tutoriel Empire cms"

2.fetch1()

Pour faire simple, nous ne l'utilisons que lors de l'interrogation d'une information, comme l'obtention d'informations sur un membre avec USERID 1; la différence avec fetch() est que le paramètre de fetch1() est une instruction SQL plutôt que le résultat de l'exécution, donc dans l'instruction SQL, entrez simplement sans l'utiliser une seconde fois ; data;

le code est le suivant :

fetch1("select userid,username from {$dbtbpre}enewsmember where userid=1 limit 1");
echo $r[userid].'
';
echo $r[username].'
';
db_close();
$empire=null;
Copier après la connexion

Discutons plus en détail :

1 Lors de la récupération d'une information, fetch() et fetch1() sont disponibles. Le code est le suivant :

Le code est le suivant :

fetch1("select id,title from {$dbtbpre}ecms_news where classid=34");
print_r($r1);
echo &#39;<hr>&#39;;
$sql=$empire->query("select id,title from {$dbtbpre}ecms_news where classid=34");
$r=$empire->fetch($sql);
print_r($r);
echo &#39;<hr>&#39;;
db_close();
$empire=null;
Copier après la connexion

2. Si vous souhaitez utiliser fech1() pour boucler les données, vous pouvez tester le code ci-dessous. constatez que le résultat est tragique et une boucle sans fin. Fermez rapidement le navigateur

Le code est le suivant :

fetch1("select id,title from {$dbtbpre}ecms_news where classid=34")){
echo $r1[title];
}
db_close();
$empire=null;
Copier après la connexion

3.fetch() est écrit dans la même boucle sans issue. ;

Le code est le suivant :

query("select id,title from {$dbtbpre}ecms_news where classid=341");
$r=$empire->fetch($sql);
while($r)){
echo $r[title].&#39;
&#39;;
}
db_close();
$empire=null;
Copier après la connexion

4. . . ; trylife a dit un jour qu'il n'y a pas de vérité sans code, jetons donc un œil au contenu du fichier source : Emplacement : e/class/db_sql.php

Le code est le suivant :

//执行mysql_fetch_array()
function fetch($sql)//此方法的参数是$sql就是sql语句执行结果
{
$this->r=mysql_fetch_array($sql);
return $this->r;
}
//执行fetch1(mysql_fetch_array())
//此方法与fetch()的区别是:1、此方法的参数是$query就是sql语句
//2、此方法用于while(),for()数据库指针不会自动下移,而fetch()可以自动下移。
function fetch1($query)
{
$this->sql=$this->query($query);
$this->r=mysql_fetch_array($this->sql);
return $this->r;
}
Copier après la connexion

①.Voir fetch1() Il y a plus de lignes dans le corps de la fonction que fetch(), "$this->sql=$this->query($query);"; d'abord ; donc lorsque vous obtenez une ligne d'informations, récupérez simplement1 directement (), tapez moins de code ;

② Les boucles infinies en 3 et 4 ci-dessus sont des problèmes d'écriture PHP. La fonction >fetch($query)) récupère d'abord les résultats de la requête. La première ligne de contenu, après quoi le pointeur d'enregistrement se déplace automatiquement vers la ligne suivante ; Remarque : mysql_fetch_array n'obtient que la première ligne de données dans le résultat de la requête ; qui n'est pas écrit entre les parenthèses while() ne peut lire que la première ligne de données, c'est donc une boucle infinie.

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!

Étiquettes associées:
source:www.word666.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!