MySQLI-Methode zum Betreiben einer MySQL-Datenbank

不言
Freigeben: 2023-03-29 21:46:02
Original
2835 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die MySQLI-Methode zum Betreiben einer MySQL-Datenbank vor. Sie hat einen bestimmten Referenzwert. Jetzt können Freunde in Not darauf verweisen.

Drei Möglichkeiten zur Bedienung MySQL mit PHP Eine Methode

MySQL

nicht permanente Verbindung, jedes Mal, wenn die Datenbank verwendet wird, wird ein neuer Prozess geöffnet,

Nachteile :
Die Leistung ist gering und wird nach PHP5.0 aufgegeben.

MySQLi

Permanente Verbindung, reduziert den Serverdruck, unterstützt nur MySQL

Nachteile:
Beansprucht Speicher

PDO (Empfohlen)

kann die allgemeinen Funktionen von MySQLi realisieren und unterstützt die meisten Datenbanken.

MySQLI-Methode (objektorientiert)

Grundlegende Verwendung:

1) Mit der Datenbank verbinden

$mysqli = new mysqli(‘host’,‘username’,‘password’,‘database’)
Nach dem Login kopieren

2) Ausführen SQL-Anweisungen

$mysqli -> query($sql);
Nach dem Login kopieren

3) Erhalten Sie das Ergebnis

$result -> fetch_array([MYSQLI_ASSOC])     一个
$result -> fetch_assoc()                   一个

$result -> fetch_all([MYSQLI_ASSOC])       全部
Nach dem Login kopieren

Der Standardwert von Methode 1 ist 索引数组 und wird nach dem Hinzufügen von Parametern zu 关联数组.

Methode 2 entspricht Methode 1 plus Parameter.

4) Schließen Sie die Verbindung

$mysqli -> close();
Nach dem Login kopieren

Instanz:

<?php

// MySQLi增删改例子

// MySQLi方式连接数据库
$mysqli = new mysqli(&#39;localhost&#39;,&#39;root&#39;,&#39;123456789&#39;,&#39;test&#39;);

// 执行SQL语句
// 使用utf-8编码
$mysqli -> query(&#39;set names utf8&#39;);

// 插入
//$result = $mysqli -> query("INSERT users(name,money) VALUES(&#39;甜筒&#39;,4) ");
//$result = $mysqli -> query("INSERT users(name,money) VALUES(&#39;麦辣鸡腿堡&#39;,16) ");

// 修改
//$result = $mysqli -> query("UPDATE users SET `name`= &#39;麦旋风&#39; WHERE `id` = 2");

// 删除
//$result = $mysqli -> query("DELETE FROM users WHERE `id` = 5");

//var_dump($result);

/*********************查询*****************/ 
$result = $mysqli -> query("SELECT * FROM users");
// 获取结果集
$data = $result -> fetch_all(MYSQLI_ASSOC);

var_dump($data);
Nach dem Login kopieren

Transaktionssteuerung

Eine Transaktion ist eine Datenbankoperation, die mehrere logische Aufgaben in einer Ausführungseinheit vereint (Totaler Erfolg oder Misserfolg).

1) Öffnen Sie die Transaktion

$mysqli -> autocommit(false)
Nach dem Login kopieren

Diese Methode führt dazu, dass die Transaktion sofort übermittelt wird, daher muss der Parameter false ausgefüllt werden.

2) Transaktions-Rollback

$mysqli -> rollback()
Nach dem Login kopieren

Wenn ein Fehler in den Daten vorliegt, können Sie diese Methode verwenden, um die Daten wiederherzustellen.

3) Transaktionsübermittlung

$mysqli -> commit()
Nach dem Login kopieren

4) Verbindung schließen

$mysqli -> close()
Nach dem Login kopieren

Hinweis:

Wenn wir query() verwenden, um SQL-Anweisungen auszuführen, tut er dies nicht Es kümmert sich um die Änderungen in der Datenbank und darum, ob die SQL-Anweisung falsch ist.

Daher können wir uns nicht auf den Rückgabewert von query() verlassen, um festzustellen, ob die Operation erfolgreich ist oder nicht.

Um die Anzahl der betroffenen Zeilen zu verwenden, um Folgendes zu bestimmen:

$mysqli -> affected_rows
Nach dem Login kopieren

Instanz

 query('set names utf8');


// 开启事务
$mysqli -> autocommit(false);

//SQL
$sql1 = "UPDATE users SET `money`=`money`+1  WHERE `id` = 1";
$sql2 = "UPDATE users SET `money`=`money`-1  WHERE `id` = 11";

// 执行SQL语句
$result = $mysqli -> query($sql1);
$r1 = $mysqli -> affected_rows;

$result = $mysqli -> query($sql2);
$r2 = $mysqli -> affected_rows;

if($r1 > 0 && $r2 > 0){
    // 提交事务
    $mysqli -> commit();
    echo '操作成功';
}else{
    // 事务回滚
    $mysqli -> rollback();
    echo '操作失败';
}
Nach dem Login kopieren

Vorverarbeitung

Vorverarbeitung, senden Sie zunächst die SQL-Anweisung an den Server und führen Sie sie aus Vorkompiliert.

Wenn der Client eine SQL-Anweisung ausführt, muss er nur die Eingabeparameter hochladen.

Wenn mehrere Lese- oder Speichervorgänge beteiligt sind, ist die Effizienz höher als bei normalen SQL-Ausführungsvorgängen.

1) $sql = „???“

Der Parameter im VALUE der SQL-Anweisung wird durch ein Fragezeichen ersetzt.

2) Vorkompiliertes Objekt erstellen

 $stmt = $mysqli -> prepare($sql)
Nach dem Login kopieren

3) Parameterzuweisung

$stmt -> bind_param(&#39;参数类型&#39;, 参数1, 参数2...)
Nach dem Login kopieren

Parametertypbeschreibung:
string-s int-i double-d bool-b

Besondere Erinnerung:
Schreiben Sie die Parametertypen der Reihe nach ohne Leerzeichen oder Kommas. Parameter 1 ist beispielsweise Zeichenfolge und Parameter 2 ist bool, geschrieben wie folgt:
$stmt -> bind_param(&#39;si&#39;, 参数1, 参数2)

4) Variable Bindungsergebnismenge (dieser Schritt ist nur für Abfragen erforderlich, überspringen Sie diesen Schritt für andere Vorgänge)

$stmt -> bind_result()
Nach dem Login kopieren

Besondere Aufmerksamkeit:
Die Variable von bind_result entspricht dem Feldnamen in der Select-Anweisung, achten Sie also unbedingt auf Menge und Reihenfolge! ! !

5) Führen Sie den Code aus

$stmt -> execute()
Nach dem Login kopieren

6) Speichern Sie den Abfragedatensatz im PHP-Programm (Abfragevorgang ist optional)

$stmt->store_result()
Nach dem Login kopieren

Weitere Informationen finden Sie unter dem Link unten

Detaillierte Analyse

7) Erhalten Sie die Ergebnisse jedes Datensatzes

$stmt ->fetch()
Nach dem Login kopieren

Instanz

 query('set names utf8');

// SQL语句
$sql = "SELECT * FROM users WHERE id>? ";

// 创建预编译对象
$stmt = $mysqli -> prepare($sql);

// 参数绑定
$id = 1;
$stmt -> bind_param('i',$id);

// 绑定结果集   参数要和表的参数一致
$stmt -> bind_result($id,$name,$money,$age);

// 执行SQL语句
$stmt -> execute();

// 执行SQL语句
$stmt->store_result();

// 接收结果集
while($stmt -> fetch()){
    $data[] = [
        'id' => $id,
        'name' => $name,
        'money' => $money
    ];
}

var_dump($data);
Nach dem Login kopieren

Verwandte Empfehlungen:

PHP-Betriebsdatenbank : Operationsoperation auswählen

Das obige ist der detaillierte Inhalt vonMySQLI-Methode zum Betreiben einer MySQL-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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