Heim  >  Artikel  >  Backend-Entwicklung  >  4 Möglichkeiten, Datensätze im Ergebnissatz zu erhalten

4 Möglichkeiten, Datensätze im Ergebnissatz zu erhalten

WBOY
WBOYOriginal
2016-08-08 09:26:121736Durchsuche

Verwenden Sie zuerst SQL, um eine Tabelle zu erstellen und Daten in die Tabelle einzufügen
create table contactInfo(
uid mediumint(8)
unsigned NOT NULL AUTO_INCREMENT, #Contact ID
name varchar(50) NOT NULL, #Name
>
E -Mail -Varchar (100), #Contact's E -Mail
Primärschlüssel (UID) #SETT Die Benutzer -ID (d. H. UID) als Primärschlüssel
);
fetch_row () , fetch_array(), fetch_assoc() Die vier Funktionen fetch_object() und fetch_object() verwenden ähnliche Methoden, um die Ergebnisdatenzeilen sequentiell zu lesen. Sie unterscheiden sich nur in der Art und Weise, wie sie auf Felder verweisen
Was sie gemeinsam haben: Jeder Aufruf gibt automatisch den nächsten Ergebnisdatensatz zurück. Wenn das Ende der Ergebnisdatentabelle erreicht ist, wird false zurückgegeben
1, $ result-> fetch_row()
Ruft einen Ergebnisdatensatz aus der Ergebnismenge ab und speichert den Wert in einem Indexarray, was die bequemste der vier Methoden ist.
Jedes Feld muss in der Form von $row[$n] gelesen werden, wobei $row ein Array ist, das aus einer Reihe von Datensätzen zurückgegeben wird, die aus der Ergebnismenge erhalten wurden, und $n ein kontinuierlicher ganzzahliger Index ist.
Da es ein Indexarray zurückgibt, kann es auch in Verbindung mit der Funktion list() verwendet werden.
$mysqli=new mysqli("localhost","mysql_user","mysql_pwd","my_db_name");
if(mysqli_connect_errno()){
printf("Connect Fehler: %s
",mysqli_connect_error());
exit();

}

$mysqli->query('set name gb2312'); // Stellen Sie den Zeichensatz auf den nationalen Standardcode 2312 ein

/*Extrahieren Sie alle Kontaktnamen und E-Mails mit der Abteilungsnummer D01 und speichern Sie sie im Ergebnissatz*/

$result=$mysqli- > query("SELECT name,email FROM contactInfo WHERE DepartmentId='D01'");

 echo 'Kontaktname und E-Mail der Abteilung D01:';
 echo '

    ';
    while(list($name,$email)=$result->fetch_row()){
    echo '
  1. '.$name:$email.'
  2. ';
    }
    echo '
';
?>
2. $result->fetch_assoc()
Diese Methode gibt einen Ergebnisdatensatz in Form eines assoziativen Arrays zurück . Der Feldname der Daten stellt den Schlüssel dar und der Feldinhalt stellt den Wert dar.
$mysqli=new mysqli('localhost','mysql_user','mysql_pwd','my_db_name');
if(mysqli_connect_errno()){
printf("Connect Fehler: %s
",mysqli_connect_error());
exit();
}

$mysqli->query('set name gb2312');
$result =mysqli->query('SELECT * FROM contactInfo');

echo '';
echo '' //Das';
                                                                                                                                                                                                         
//Beachten Sie, dass $result->fetch_accoc() ein assoziatives Array zurückgibt, d. h. mit $key_name ( Schlüsselwert), um auf den Wert

echo ''; echo '';
echo '';
echo '';
echo '';
echo '';
}

echo '

Kontaktinformationstabelle

-Tag bietet eine kurze Beschreibung der Tabelle, die verwendet werden kann, um Suchmaschinen einfacher zu machen um

zu finden echo '
Benutzer-IDNameAbteilungsnummerKontaktadresse< ;th>KontaktnummerE-Mail
'.$row['departmentId'].''.$row ['address'].' '.$row['phone'].' '.$row['email '].'
';
$result-> close();
$mysqli->close();
?>
3. $result->fetch_array()
Diese Methode kann gesagt werden sein fetch()_row und fetch_assco( ) Die kombinierte Version der beiden Methoden kann jeden Datensatz der Ergebnismenge als assoziatives Array oder numerisches Indexarray oder gleichzeitig als assoziatives Array und Indexarray erhalten. Standardmäßig werden beide Arrays gleichzeitig abgerufen. Dieses Standardverhalten kann wie folgt geändert werden, indem unterschiedliche Werte an diese Methode übergeben werden.
MYSQLI_ASSOC: Der Datensatz wird als assoziatives Array zurückgegeben, der Feldname ist der Schlüssel und der Feldinhalt ist der Wert.
MYSQLI_NUM: Datensätze werden als Indexarray zurückgegeben, sortiert in der Reihenfolge der in der Abfrage angegebenen Feldnamen.
MYSQLI_BOTH: Dies ist der Standardwert. Datensätze werden sowohl als assoziative Arrays als auch als Index-Arrays zurückgegeben.
4. $result->fetch_object()
Diese Methode unterscheidet sich von den vorherigen drei Methoden. Sie gibt einen Ergebnisdatensatz in Form eines Objekts anstelle eines Arrays zurück. Auf jedes seiner Felder muss in Form von Objekten zugegriffen werden, und bei den Namen der Datenspalten muss die Groß-/Kleinschreibung beachtet werden.
$mysqli=new mysqli("localhost","mysql_user","mysql_pwd","my_db_name");
if(mysqli_connect_errno()){
printf("Connect Fehler: %s
",mysqli_connect_error());
exit();

}

$mysqli->query("set name gb2312");
$mysqli->query("SELECT * FROM contactInfo");

echo '';
echo ''
;
echo '';
                                                                                                                        ; ->uid. '';
echo '';
echo ''; ; '.$rowObj->phone.'';
; echo '';
; echo '< /tr>';
}
echo '

Kontaktinformationsformular

Benutzer-IDName< /th> AbteilungsnummerKontaktadresseKontaktnummerE-Mail'.$rowObj->name.''. deparmentId.''.$rowObj-> ;email.'
'
$result->close() ;
$mysqli->close();
?> Die oben genannten vier Methoden zum Durchlaufen von Daten im Ergebnissatz geben bei jedem Aufruf automatisch den nächsten Ergebnisdatensatz zurück. Wenn Sie die Lesereihenfolge ändern möchten, können Sie die Methode data_seek() im Ergebnismengenobjekt verwenden, um die aktuelle Datensatzposition explizit zu ändern. Sie können auch das Attribut „num_rows“ im Ergebnismengenobjekt verwenden, um die Anzahl der Datensätze in der Ergebnisdatentabelle anzugeben. Sie können auch das Längenattribut im Ergebnisobjekt verwenden, um eine Gruppe zurückzugeben. Jedes Element des Arrays ist die Anzahl der Zeichen in jedem Feld im Ergebnisdatensatz, der schließlich mit den oben genannten vier Methoden gelesen wird.

Das Obige stellt die vier Methoden zum Abrufen von Datensätzen im Ergebnissatz vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.


Stellungnahme:
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