Heim > CMS-Tutorial > Empire CMS > Schließen Sie die Verwendung von fetch() und fetch1() in der Sekundärentwicklung von Imperial CMS in 10 Minuten ab

Schließen Sie die Verwendung von fetch() und fetch1() in der Sekundärentwicklung von Imperial CMS in 10 Minuten ab

silencement
Freigeben: 2019-11-28 13:50:30
nach vorne
3439 Leute haben es durchsucht

Schließen Sie die Verwendung von fetch() und fetch1() in der Sekundärentwicklung von Imperial CMS in 10 Minuten ab

fetch() und fetch1() sind Funktionen, die häufig in der Sekundärentwicklung von Imperial CMS verwendet werden. Im Folgenden werden die richtigen Schreibmethoden und einige Verwendungsmöglichkeiten von fetch() und fetch1() vorgestellt:
(Hinweis: Die Funktionen fetch() und fetch1() befinden sich in der Datei e/class/db_sql.php)

1.fetch()

Im Allgemeinen verwenden wir es, um Listen oder Spalten ausschleifen Es werden mehrere Informationen ausgegeben. Im folgenden Beispiel werden alle Mitglieds-IDs und Benutzernamen abgerufen, deren Mitgliedsgruppen-ID 1 ist. Der Parameter von fetch() ist das Ergebnis der SQL-Anweisungsausführung. query() wird zuerst ausgeführt und dann wird das Ausführungsergebnis von query() als Parameter für fetch(); verwendet.

Code ist wie folgt:

query( "select userid,username from {$dbtbpre}enewsmember where groupid=1" );
while ( $r = $empire ->fetch( $sql )){
echo $r [userid]. '---' . $r [username].'
';
}
db_close();
$empire =null;
Nach dem Login kopieren

Es wird empfohlen, „ Empire cms-Tutorial"

2.fetch1()

Um es einfach auszudrücken: Wir verwenden es nur, wenn wir eine Information abfragen, beispielsweise um Mitgliedsinformationen mit USERID zu erhalten 1; Der Unterschied zu fetch() besteht darin, dass der Parameter von fetch1() eine SQL-Anweisung und nicht das Ausführungsergebnis ist. Gehen Sie also direkt in die SQL-Anweisung, ohne sie ein zweites Mal zu verwenden data;

Code lautet wie folgt:

fetch1("select userid,username from {$dbtbpre}enewsmember where userid=1 limit 1");
echo $r[userid].'
';
echo $r[username].'
';
db_close();
$empire=null;
Nach dem Login kopieren

Lassen Sie uns weiter diskutieren:

1 Beim Abrufen einer Information sind sowohl fetch() als auch fetch1() verfügbar. Der Code lautet wie folgt:

Der Code lautet wie folgt:

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;
Nach dem Login kopieren

2. Wenn Sie fech1() zum Schleifen der Daten verwenden möchten, können Sie den Code unten testen Finden Sie, dass das Ergebnis tragisch ist und eine Endlosschleife darstellt.

Der Code lautet wie folgt:

fetch1("select id,title from {$dbtbpre}ecms_news where classid=34")){
echo $r1[title];
}
db_close();
$empire=null;
Nach dem Login kopieren

3.fetch() wird in derselben Sackgasse geschrieben. ;

Der Code lautet wie folgt:

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;
Nach dem Login kopieren

Warum. . . ;trylife hat einmal gesagt, dass es ohne Code keine Wahrheit gibt, also werfen wir einen Blick auf den Inhalt der Quelldatei: Ort: e/class/db_sql.php

Der Code lautet wie folgt:

//执行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;
}
Nach dem Login kopieren

①.Siehe fetch1() Es gibt mehr Zeilen im Funktionskörper als fetch(), „$this->sql=$this->query($query);“; Wenn Sie also eine Zeile mit Informationen abrufen, geben Sie einfach weniger Code ein. Die Endlosschleifen in 3 und 4 sind PHP-Schreibprobleme. Die Funktion >fetch($query)) ruft zunächst die erste Zeile des Inhalts ab, danach bewegt sich der Datensatzzeiger automatisch zur nächsten Zeile. Hinweis: mysql_fetch_array ruft nur die erste Zeile mit Daten im Abfrageergebnis ab; das nicht in den while()-Klammern steht, kann nur die erste Datenzeile lesen, es handelt sich also um eine Endlosschleife.

Das obige ist der detaillierte Inhalt vonSchließen Sie die Verwendung von fetch() und fetch1() in der Sekundärentwicklung von Imperial CMS in 10 Minuten ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:www.word666.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage