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
Verwandte MySQL-Video-Tutorials beziehen Empfohlen: „MySQL-Tutorial“
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 "";
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]
Es gibt zwei Ergebnismengen, die sich hauptsächlich von diesen unterscheiden aktuell ausgeführt Der SQL-Befehl gibt zurück, ob Daten vorhanden sind.
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.
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('localhost','root','root','student') or die("数据库连接错误!"); $rs = mysqli_query($conn, 'set names utf8');//设置PHP与MySQL交互默认字符集var_dump($rs); $rs = mysqli_query($conn, 'select * from student'); 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:
mysqli_fetch_assoc() Ruft eine Datenzeile ab und gibt sie als zurück [Assoziation] Array
mysqli_fetch_row() Ruft eine Datenzeile als [Index]-Array ab und gibt sie zurück
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);
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);
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(数据库连接标识);
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
Die Kodierung der auf dem Client gespeicherten Daten Server
Die folgenden drei beziehen sich auf den Client
Datenkodierung, die vom Client an den Server gesendet wird
Servervariablen (Konfigurationselemente). ):character_set_client
Von der Verbindungsschicht zwischen Client und Server verwendete Kodierung
Servervariablen (Konfigurationselemente): character_set_connection
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;
项目中确保字符编码五个地方统一
MySQL数据库服务器保存数据的编码
设置php与MySQL交互层编码 mysqli_query($conn, 'set names utf8');
PHP与浏览器之间交互的编码 header("Content-type:text/html;charset=utf-8");
HTML meta 标签声明使用编码 <meta charset="UTF-8">
PHP文件保存的编码(在编辑器中设置)
更多mysql相关知识请关注php中文网mysql视频教程频道
相关推荐:
【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!