Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Operation MySQL

PHP-Operation MySQL

不言
不言Original
2018-04-26 15:43:2919355Durchsuche

Dieser Artikel stellt hauptsächlich PHP für den Betrieb von MySQL vor, was einen gewissen Referenzwert hat. Freunde in Not können sich auf

PHP-Operation MySQL

Verwandte MySQL-Video-Tutorials beziehen Empfohlen: „MySQL-Tutorial

1. Verwenden Sie PHP, um eine Verbindung zur MySQL-Datenbank herzustellen

Verwenden Sie die PHP-Funktion mysqli_connect, um eine Verbindung zur MySQL-Datenbank herzustellen
Syntax: $conn = mysqli_connect('主机名','用户名','密码','数据库名',端口); Das Ressourcenobjekt wird zurückgegeben, wenn die Verbindung erfolgreich ist, false, wenn die Verbindung fehlschlägt
$conn heißt [Datenbankverbindungskennung]

header("Content-type:text/html;charset=utf-8");
$conn = @mysqli_connect('localhost','root','root','student') or die("数据库连接错误!");
echo "<pre class="brush:php;toolbar:false">";
var_dump($conn);echo "
";

2. Verwenden Sie PHP, um auf die MySQL-Datenbank zuzugreifen

Verwenden Sie die PHP-Funktion mysqli_query, um sie an die MySQL-Datenbank zu senden. SQL-Anweisungen werden verwendet, um die von der MySQL-Datenbank zurückgegebenen Ergebnisse abzufragen und in Objekte als Rückgabewert der Funktion zu kapseln.
Syntax: $result = mysqli_query(数据库连接标识,SQL指令);
$result heißt [Ergebnismenge]

3. Ergebnismengenverarbeitung

Es gibt zwei Ergebnismengen, die sich hauptsächlich von diesen unterscheiden aktuell ausgeführt Der SQL-Befehl gibt zurück, ob Daten vorhanden sind.

  1. Es gibt Rückgabedaten: select, show, desc
    mysqli_query gibt einen Ressourcentyp zurück. Wenn die Ausführung erfolgreich ist, wird der Ergebnissatz zurückgegeben.
    Hinweis: Da der Ressourcentyp immer wahr ist, kann er nicht zur Bestimmung verwendet werden Kann nur verwendet werden, um festzustellen, ob der Befehl erfolgreich ausgeführt wurde.

  2. Keine Daten zurückgegeben: Einfügen, Löschen, Aktualisieren, Festlegen, DDL (Datendefinitionssprache, z. B. Erstellen, ändern, löschen)
    mysqli_query gibt einen booleschen Wert zurück. Gibt „true“ zurück, wenn es erfolgreich ist, false, wenn es fehlschlägt

Verwenden Sie mysqli_fetch_assoc, um Daten aus der Ergebnismenge zu lesen und die gelesenen Daten in Form eines assoziativen Arrays zurückzugeben. Der Schlüsselname des assoziativen Arrays ist der Feldname und gleichzeitig bewegt sich der Zeiger der Ergebnismenge eine Zeile nach unten.
Syntax: $row = mysqli_fetch_assoc(结果集);

header("Content-type:text/html;charset=utf-8");
$conn = @mysqli_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;root&#39;,&#39;student&#39;) or die("数据库连接错误!");
$rs = mysqli_query($conn, &#39;set names utf8&#39;);//设置PHP与MySQL交互默认字符集var_dump($rs);
$rs = mysqli_query($conn, &#39;select * from student&#39;);
while ($row = mysqli_fetch_assoc($rs)) {    
echo "<pre class="brush:php;toolbar:false">";
    var_dump($row);    
    echo "
"; }

Drei Funktionen zum Abrufen von Daten aus der Ergebnismenge:

  1. mysqli_fetch_assoc() Ruft eine Datenzeile ab und gibt sie als zurück [Assoziation] Array

  2. mysqli_fetch_row() Ruft eine Datenzeile als [Index]-Array ab und gibt sie zurück

  3. mysqli_fetch_array() Ruft a ab Datenzeile als [Assoziations]-Array und [Index]-Array gibt zurück

Zählt die Anzahl der Datenzeilen im Ergebnissatz
Syntax: mysqli_num_rows(结果集);
wird normalerweise verwendet, um zu bestimmen, ob Daten im Ergebnissatz vorhanden sind. Wenn es größer als 0 ist, bedeutet dies, dass Daten vorhanden sind. Wenn es gleich 0 ist, bedeutet dies, dass keine Daten vorhanden sind.

echo mysqli_num_rows($conn);

Ergebnismenge freigeben, den von der Ergebnismenge belegten Speicherplatz freigeben
Syntax: mysqli_free_result(结果集);

mysqli_free_result($rs);

4. Datenbankverbindung schließen

Syntax: mysqli_close(数据库连接标识);
Wenn Sie mysqli_close nicht zum Schließen der Datenbankverbindung verwenden, wird PHP standardmäßig automatisch geschlossen, nachdem die Codeausführung abgeschlossen ist.

mysqli_close($conn);

5. Andere Verwendungen

Fehlermeldung
Syntax: mysqli_error(数据库连接标识);
Wird normalerweise zum Debuggen und Anzeigen von Fehlern verwendet

echo mysqli_error($conn);

Erhalten Sie die ID der gerade eingefügten Daten
Syntax: mysqli_insert_id(数据库连接标识);

6. Zeichenkodierung des Projekts

MySQL-Zeichensatz
MySQL-Daten werden letztendlich in Datenbanken, Tabellen und Datensätzen gespeichert.
Wenn die Daten tatsächlich gespeichert werden, werden sie von mehreren Stellen beeinflusst:

  • Feldkodierung

  • Tabellenkodierung

  • Kodierung der Bibliothek

  • Eingebaute Kodierung des MySQL-Servers

Wenn die Kodierung im Feld festgelegt ist, speichern Sie Für die Daten gilt die Feldkodierung.
Wenn für das Feld kein Kodierungssatz festgelegt ist, hat die Kodierung der Tabelle Vorrang.
Wenn die Tabelle keinen Codierungssatz hat, hat der Codierungssatz in der Bibliothek Vorrang.
Wenn die Bibliothek die Kodierung nicht festlegt, hat die integrierte Kodierung des MySQL-Servers Vorrang.

Die oben genannten Kodierungen werden vom Server bestimmt. Sie müssen nur die Kodierung der Datenbank, Tabelle und Felder festlegen.

Die Kodierung der auf dem Client angezeigten Daten
Vier Stellen beeinflussen die Anzeige des Clients

  1. Die Kodierung der auf dem Client gespeicherten Daten Server

Die folgenden drei beziehen sich auf den Client

  1. Datenkodierung, die vom Client an den Server gesendet wird
    Servervariablen (Konfigurationselemente). ):character_set_client

  2. Von der Verbindungsschicht zwischen Client und Server verwendete Kodierung
    Servervariablen (Konfigurationselemente): character_set_connection

  3. Datenkodierung der vom Server an den Client gesendeten Verarbeitungsergebnisse
    Servervariablen (Konfigurationselemente): character_set_results

可以使用 show variables like 'char%'; 在MySQL命令行模式下查看相关变量。
可使用 set指令单独设置,如:set character_set_results=utf8;

set names 是一个快捷操作,同时设置了以上三个服务器变量(配置项),当使用set names utf8;时,相当于

set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_results=utf8;

项目中确保字符编码五个地方统一

  1. MySQL数据库服务器保存数据的编码

  2. 设置php与MySQL交互层编码 mysqli_query($conn, 'set names utf8');

  3. PHP与浏览器之间交互的编码 header("Content-type:text/html;charset=utf-8");

  4. HTML meta 标签声明使用编码 0d94b2dad07259293dd606022eaa23d8

  5. PHP文件保存的编码(在编辑器中设置)

更多mysql相关知识请关注php中文网mysql视频教程频道

相关推荐:

PHP操作JSON方法大全

PHP操作MongoDB实现增删改查功能

【mysql视频教程】2019年最火的5个mysql视频教程推荐

Das obige ist der detaillierte Inhalt vonPHP-Operation MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Vorheriger Artikel:Xdebug-Debugging für PHPNächster Artikel:Xdebug-Debugging für PHP