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;
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;
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 '<hr>'; $sql=$empire->query("select id,title from {$dbtbpre}ecms_news where classid=34"); $r=$empire->fetch($sql); print_r($r); echo '<hr>'; db_close(); $empire=null;
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;
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].' '; } db_close(); $empire=null;
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; }
①.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!