Maison > Tutoriel CMS > EmpireCMS > le corps du texte

Comment utiliser fetch() et fetch1() dans le développement secondaire d'Imperial CMS

藏色散人
Libérer: 2019-12-14 09:06:21
original
2880 Les gens l'ont consulté

Comment utiliser fetch() et fetch1() dans le développement secondaire d'Imperial CMS

Comment utiliser fetch() et fetch1() dans le développement secondaire d'Empire CMS ?

fetch( ) et fetch1() est une fonction couramment utilisée dans le développement secondaire d'Imperial CMS. Les méthodes d'écriture correctes et certaines utilisations de fetch() et fetch1() sont présentées ci-dessous :

(Remarque : fetch(). et les fonctions fetch1() se trouvent dans le fichier e/class/db_sql.php)

1.fetch()

Généralement, nous l'utilisons pour boucler une liste ou lister plusieurs informations ; par exemple, l'exemple suivant obtient l'ID du groupe de membres Tous les ID de membre et noms d'utilisateur qui sont 1 ; le paramètre de fetch() est le résultat de l'exécution de l'instruction SQL, c'est-à-dire que query() est exécuté en premier ; 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

2.fetch1()

En termes simples, nous ne l'utilisons que pour interroger une information, comme obtenir les informations sur le membre avec USERID 1 ; La différence avec fetch() est que les paramètres de fetch1() sont des instructions SQL plutôt que des résultats d'exécution, donc simplement entrez directement sans utiliser l'instruction SQL une deuxième fois ; fetch1() ne prend qu'une seule donnée ;

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 Oui, 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 des données, vous pouvez tester le code suivant, vous verrez que le résultat était tragique, une boucle sans fin, donc J'ai rapidement fermé 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 la même méthode d'écriture de boucle sans issue

Le code est le suivant ; suit :

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

Pourquoi. . . ;trylife a dit un jour qu'il n'y a pas de vérité sans code, alors jetons un coup d'œ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, il y a donc une boucle sans fin d'oiseaux !

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:php.cn
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