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

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

silencement
silencementavant
2019-11-28 13:50:303387parcourir

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;

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;

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;

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;

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;

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;
}

①.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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer