Heim  >  Artikel  >  CMS-Tutorial  >  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
silencementnach vorne
2019-11-28 13:50:303398Durchsuche

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;

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;

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;

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;

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;

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

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

Stellungnahme:
Dieser Artikel ist reproduziert unter:www.word666.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen