Heim > Schlagzeilen > Datenbankabfragevorgang in PHP

Datenbankabfragevorgang in PHP

无忌哥哥
Freigeben: 2019-02-22 15:09:41
Original
15156 Leute haben es durchsucht

Datenbankabfragevorgang in PHP

Verwandte MySQL-Video-Tutorial-Empfehlung: „MySQL-Tutorial

* 1. Abfragevorgang

* 2. Drei beteiligte Funktionen:

* 2-1. mysqli_query($db, $sql): SQL-Anweisung ausführen und die Ergebnismenge zurückgeben

* 2- 2. mysqli_errno($db): Gibt den Fehlercode der letzten Funktionsausführung zurück

* 2-3. Mysqli_error($db): Gibt die Fehlermeldung der letzten Funktionsausführung zurück

* 2-4. mysqli_num_rows($res): Gibt die Anzahl der Datensätze im Ergebnissatz zurück

* 2-5. mysqli_fetch_row($res): Gibt einen Datensatz in einem Indexarray zurück

* 2-5. mysqli_fetch_assoc($res): Gibt einen Datensatz als assoziatives Array zurück

* 2-5. mysqli_fetch_array($res,MYSQLI_NUM): Gibt einen Datensatz als Indexarray zurück

* 2-5. mysqli_fetch_array( $res,MYSQLI_ASSOC): Gibt einen Datensatz als assoziatives Array zurück

* 2-5. Mysqli_fetch_array($res,MYSQLI_BOTH): Gibt einen Datensatz als Index und relationales Array zurück

* 2-5 . Einen Datensatz im Objektmodus zurückgeben

* mysqli_free_result($result);

* 2-4. Schließen Sie die aktuelle Datenverbindung

* 3. Abfrageschritte:

* 3-1. Stellen Sie eine Verbindung zur Datenbank her

* 3-2. Bereiten Sie die SQL-Anweisung vor

* 3-3. Abfrage ausführen

* 3-4. Erkennungsergebnis

* 3-5. 5-1. Wenn es sich um Einfügen/Aktualisieren/Löschen handelt: Gibt die Anzahl der betroffenen Datensätze zurück

* 3-6. Schließen Sie die Datenbankverbindung

//1 ist keine Funktion, es müssen keine Klammern hinzugefügt werden

define ('DB_HOST', 'localhost');
define ('DB_USER', 'root');
define ('DB_PASS', 'root');
define ('DB_NAME', 'php');
define ('DB_CHAR', 'utf8');
$db = @mysqli_connect(DB_HOST, DB_USER, DB_PASS);
if (mysqli_connect_errno($db)) {
    exit('连接失败'.mysqli_connect_error($db));
}
mysqli_select_db($db, DB_NAME);
mysqli_set_charset($db, DB_CHAR);
Nach dem Login kopieren

//2. SQL-Anweisung vorbereiten

$sql = "SELECT name,salary FROM staff";
$sql = "SELECT name AS 姓名,salary AS 工资 FROM staff WHERE age>90";
Nach dem Login kopieren

//3 erfolgreich, falsch

$result = mysqli_query($db, $sql);
var_dump($result);die();
Nach dem Login kopieren

//4. Erkennungsergebnis

//Wenn die Ergebnismenge vorhanden ist

if (false != $result) { //这是写只是语义性更强
    //如果结果集中存在记录,至少有一条
//    if (mysqli_num_rows($result) > 0) {
    //mysqli_affected_rows($db)也可以完成同样的检测工作,注意参数是连接对象$db,不是结果集对象
    if (mysqli_affected_rows($db) > 0) {
//        echo &#39;共计:&#39;.mysqli_num_rows($result).&#39;条记录<br>&#39;;
        echo &#39;共计:&#39;.mysqli_affected_rows($db).&#39;条记录~~<br>&#39;;
Nach dem Login kopieren

//5. Verarbeiten Sie die Ergebnismenge

//5-1: Holen Sie sich den Indexteil

while($row = mysqli_fetch_array($result, MYSQLI_NUM)){
Nach dem Login kopieren

//Holen Sie sich den Indexteil Shortcut-Methode

while($row = mysqli_fetch_row($result)){
Nach dem Login kopieren

//5-2: Holen Sie sich den zugehörigen Teil

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
Nach dem Login kopieren

/ /Shortcut-Methode, um den zugehörigen Teil zu erhalten

while($row = mysqli_fetch_assoc($result)){
Nach dem Login kopieren

//5-3: Index + Assoziation

while($row = mysqli_fetch_array($result, MYSQLI_BOTH)){
Nach dem Login kopieren

//5-4: Der schnelle Weg, den Index + Assoziation zu erhalten, besteht darin, nicht zu übergeben im zweiten Parameter, der der Standardwert ist

while($row = mysqli_fetch_array($result)){
Nach dem Login kopieren

//5-4: In Form von Objekten

        while($row = mysqli_fetch_object($result)){
//            var_export($row);//以字符串方式表示查询结查
            //如果是对象,可以用指向符来访问
            echo $row->name.&#39;--&#39;.$row->salary;
            echo &#39;<hr>&#39;;
            //以变量方式表示,表示的内容更加完整丰富
//            var_dump($row);
        }
    } else {
        echo &#39;没有符合条件的记录&#39;;
    }
    //查询失败的处理方式
} else {
    //必须要用exit()或die()终止脚本执行,否则后面的语句还会执行并会报错
    exit(&#39;查询失败&#39;.mysqli_errno($db).&#39;:&#39;.mysqli_error($db));
}
Nach dem Login kopieren

//5. Geben Sie die Ergebnismenge frei (nur für select)

mysqli_free_result($result);
Nach dem Login kopieren

//6. Schließen Sie die Datenbankverbindung

mysqli_close($db);
Nach dem Login kopieren

Quelle:php.cn
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