Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Beschreibung von PHP kombiniert mit MySQL
Ich glaube, dass die Datenbank, die viele PHP-Programmierer in der PHP-Entwicklung verwenden, eine MySQL-Datenbank ist. Warum sollten wir nicht mit anderen Datenbanken zusammenarbeiten? Werfen Sie einen Blick auf die Kombination von PHP und MySQL und erläutern Sie, warum die PHP-Entwicklung mit MySQL kombiniert werden muss.
Empfohlene MySQL-Video-Tutorials: „MySQL-Tutorial“
phpstudy: Dieses Paket integriert das neueste Apache+PHP+MySQL+phpMyAdmin. Es kann einmal installiert werden und kann ohne Konfiguration verwendet werden PHP-Debugging-Umgebung. Sie müssen PHP, MySQL und Appche nicht mehr separat herunterladen und installieren, es ist einfach und bequem.
Lernen Sie zunächst die folgende PHP-Studie kennen:
Klicken Sie im Bild oben auf „MySQL Manager“ und wählen Sie MySQL-Front
Die folgende Oberfläche erscheint:
Nach dem Öffnen gelangen Sie in die offizielle Datenbankoberfläche.
Dies ist nur für alle, um das folgende MySQL zu sehen, und seine spezifische Funktionsweise wird später besprochen.
In diesem Teil war das Hauptproblem, auf das ich stieß, dass ich beim Öffnen des Localhosts in Abbildung 5 keine Verbindung zu MySQL herstellen konnte, weil es wirklich kein anderes gab Weg.
Ein Kunde hat ein Buch in einem Online-Shop gekauft. Nach Eingang der Anfrage geht der Online-Shop-Inhaber zum Hersteller, um die Ware abzuholen und sie an den zu senden Kunde.
Das Flussdiagramm sieht wie folgt aus:
Aus dem obigen Bild wissen wir, dass Kunden und Ladenbesitzer nicht direkt kommunizieren, sondern Daten über den Ladenbesitzer austauschen, der Kommunikationsdienste bereitstellt . Die Beziehung zwischen php, Apache und der Datenbank ähnelt der Beziehung zwischen Kunden, Ladenbesitzern und Herstellern. PHP benötigt irgendeine Art von Daten und sendet die Anfrage direkt an den Apache und leitet die Anfrage dann an die Datenbank zurück 🎜>Apache Der Server, Apache Server, sendet es dann an PHP. 1. Warum können PHP und die Datenbank nicht direkt kommunizieren und müssen über Apache gehen?
Zum Beispiel: PHP und Datenbank sind wie zwei Menschen unterschiedlicher Nationalität. Ersterer kommt aus China und letzterer aus den USA. Die Sprachbarriere macht die Kommunikation zu einem Problem , geschweige denn darüber reden, Geschäfte zu machen. Es gibt zufällig eine Person namens Apache, die sowohl Chinesisch als auch Englisch versteht. Er übersetzt die PHP-Anforderungen ins Englische und teilt der Datenbank mit, dass sie die entsprechenden Waren herausnimmt und sie an Apache weitergibt, der sie dann an PHP weitergibt.
2. Warum kann Apache nicht sowohl ein Server als auch eine Datenbank sein? Das ist weniger. Wäre es nicht einfacher, nur einen Link zu erstellen?
Damit soll das Problem der rationalen Arbeitsteilung gelöst werden. Wenn Sie Apache mit der Datenbank zusammenführen, ist dies gleichbedeutend damit, dass Apache sowohl Ladenbesitzer als auch Hersteller ist, was die Arbeitslast des Apache-Servers erheblich erhöht. Wenn die Daten klein sind, kann Apache sie noch tragen. Wenn die Daten groß sind, muss Apache die Transport- und Verwaltungsarbeit des Fabriklagers übernehmen Arbeit zur Fabrik.
MySQL-Datenbank
Es gibt viele Datenbanken auf der Welt, und MySQL ist die beliebteste. MySQL ist ein relationales Datenbank
-Managementsystem, das von der schwedischen Firma MySQL AB entwickelt wurde und derzeit zu Oracle gehört. MySQL ist ein relationales Datenbankverwaltungssystem. Eine relationale Datenbank speichert Daten in verschiedenen Tabellen, anstatt alle Daten in einem großen Warehouse abzulegen, was die Geschwindigkeit und Flexibilität erhöht. (
MySQL-Datenbank entspricht der Klassifizierung von Waren und deren Platzierung in verschiedenen Lagern. Jedes Lager ist eine kleine Datenbank und die Fabrik ist eine große Datenbank. Dies erleichtert den Zugriff auf Waren. Wenn die Waren nicht klassifiziert und gelagert werden , es wird sehr schwierig sein, die Speichereffizienz stark zu reduzieren. Funktionen von RDBMS (Relational Database Management System): 1. Daten werden in Form von Tabellen angezeigt
3. Jede Spalte ist das Datenfeld, das dem Datensatznamen entspricht
4. Viele Zeilen und Spalten bilden ein Formular
5
PHP stellt die Funktion mysql_connect() zur Verfügung, um eine Verbindung zur Datenbank herzustellen. Diese Funktion hat 5 Parameter, im Allgemeinen verwenden wir nur die ersten 3.
这里你也许会问,php可以连接数据库那appache干什么去了。 这里说明一下,apache是一个服务器,其构筑了一个php和数据库可以沟通的环境.php和数据库这两个讲不同语言的人打电话, 通过apache这个同声翻译系统进行沟通
gibt den Server an, zu dem eine Verbindung hergestellt werden soll. Kann eine Portnummer enthalten, z. B. „hostname:port“, oder einen Pfad zu einem lokalen Socket, z. B. „:/path/to/socket“ für localhost.
Wenn die PHP-Direktive mysql.default_host nicht definiert ist (Standardfall), ist der Standardwert „localhost:3306“.
. Benutzer Benutzername. Der Standardwert ist der Benutzername des Serverprozesseigentümers.
. Passwort Passwort. Der Standardwert ist ein leeres Passwort.
php mysql_close wird verwendet, um die Verbindung zur MySQL-Datenbank zu trennen. Unter normalen Umständen wird das Skript nach der Ausführung automatisch getrennt, sodass dieser Satz nicht geschrieben werden muss. Allerdings schließt mysql_close() eine dauerhafte Verbindung, die von mysql_pconnect() hergestellt wurde, nicht.
Mit der Datenbank verbinden:
<?php header("content-type:text/html;charset=utf-8"); $servername = "127.0.0.1";//服务器主机地址 $username = "root";//访问数据库的用户名 $password = "root";//访问数据库的密码 //phpstudy的mysql有一个默认用户名(root)和密码(root) // 创建连接 $conn = mysql_connect($servername, $username,$password); // 检测连接 if (!$conn) { die("Connection failed: " . mysql_connect_error());//die()输出一条消息,然后断开 连接。 } echo "连接成功"; mysql_close($conn);//关闭连接。 ?>
Nicht jeder kann auf die Datenbank zugreifen, nur diejenigen mit der entsprechenden Berechtigung können darauf zugreifen. Als nächstes werde ich zeigen, wie man Benutzer mit dem MySQL-Front-Tool hinzufügt.
Nach dem Hinzufügen eines neuen Benutzers:
Verwenden Sie den neuen Benutzer für den Zugriff:
<?php header("content-type:text/html;charset=utf-8"); $servername = "127.0.0.1";//服务器主机地址 $username = "sunwukong";//访问数据库的用户名 $password = "jingubang";//访问数据库的密码 //phpstudy的mysql有一个默认用户名(root)和密码(root) // 创建连接 $conn = mysql_connect($servername, $username,$password); // 检测连接 if (!$conn) { die("Connection failed: " . mysql_connect_error());//die()输出一条消息,然后断开连接。 } echo "连接成功"; mysql_close($conn);//关闭连接。 ?>
Die Verbindung ist erfolgreich .
php verwendet mysql_query (SQL, Verbindung), um eine Datenbank zu erstellen oder zu löschen. mysql_query() sendet die Suchabfrageanweisung SQL über die hergestellte Verbindungsverbindung an die Datenbank. Reagieren Sie nach dem Lesen der Datenbank auf den entsprechenden Vorgang.
<?php header("content-type:text/html;charset=utf-8"); $servername = "127.0.0.1";//服务器主机地址 $username = "sunwukong";//访问数据库的用户名 $password = "jingubang";//访问数据库的密码 //phpstudy的mysql有一个默认用户名(root)和密码(root) // 创建连接 $conn = mysql_connect($servername, $username,$password); // 检测连接 if (!$conn) { die("Connection failed: " . mysql_connect_error());//die()输出一条消息,然后断开连接。 } echo "连接成功"; echo "</br>"; $sql = "CREATE DATABASE zhubajie";//CREATE DATABASE是sql语言中创建数据库的语句,这里是一个创建名为“zhubajie” 的数据库的字符串。 $dingpa = mysql_query($sql,$conn);//将$sql查询语句发送给数据库。 if (!$dingpa) { die("创建数据库失败:".mysql_error()); } echo "创建成功"; mysql_close($conn);//关闭连接。 ?>
Nach dem Ausführen
Manchmal werden Sie feststellen, dass beim Ausführen der obigen PHP-Datei der unten gezeigte Fehler angezeigt wird:
Der Grund für diesen Fehler ist, dass Sie über den Benutzernamen $username = „sunwukong“ auf die Datenbank zugreifen und diesem Benutzer bei der Erstellung in MySQL keine Berechtigungen erteilt wurden.
Das Löschen der Datenbank erfolgt ebenso wie das Erstellen der Datenbank über mysql_query.
Wir erstellen eine Tabelle mit dem Namen „MyGuests“ mit 5 Spalten: „ id“, „firstname“, „lastname“, „email“ und „reg_date“:
Erstellen Sie die Datentabelle MyGuests:
CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )
wird in der Datentabelle wie folgt angezeigt:
Hier sollten Sie auf die Kopfzeile in der vom Objektbrowser angezeigten Tabelle achten, die die Art der Daten und andere Attribute angibt.
Das obige Bild ist ein spezifisches Datendiagramm.
Sehen wir uns den spezifischen Code an:
In frühen Versionen von PHP verwenden wir die MySQL-Erweiterung. Diese Erweiterung wurde jedoch im Jahr 2012 eingestellt. Stattdessen verwende ich die Mysqli-Erweiterung und PDO. Ich persönlich verwende die Mysqli-Erweiterung. Die MySQL-Erweiterung ist eine Erweiterung der MySQL-Erweiterung. Es gibt keinen Unterschied zwischen den beiden, aber erstere ist leistungsfähiger als letztere. Im Folgenden wird die prozessorientierte Codierungsmethode von MySQL verwendet (es gibt auch eine objektorientierte Codierungsmethode), um MySQL zu betreiben. Sie können es mit der erweiterten MySQL-Codierungsmethode oben vergleichen.
AUTO INCREMENT – Legen Sie fest, dass der Wert des MySQL-Felds jedes Mal automatisch um 1 erhöht wird, wenn ein neuer Datensatz hinzugefügt wird.
PRIMARY KEY – Legen Sie die eindeutige Kennung jedes Datensatzes in der Datentabelle fest. Normalerweise wird der PRIMARY KEY der Spalte auf den ID-Wert gesetzt, der mit AUTO_INCREMENT verwendet wird. Jede Tabelle sollte einen Primärschlüssel haben (diese Spalte ist die Spalte „zhubajie_t“), und der Primärschlüssel muss einen eindeutigen Wert enthalten. (Sie verstehen das vielleicht nicht gut, aber das kommt später)
NOT NULL – Jede Zeile muss einen Wert enthalten (darf nicht leer sein), und Nullwerte sind nicht zulässig.
DEFAULT-Wert – Standardwert festlegen
UNSIGNED – Verwenden Sie vorzeichenlose numerische Typen, 0 und positive Zahlen
Die oben genannten drei Attribute können der Spalte sowie dem Datentyp der angegebenen Spalte hinzugefügt werden. (Lassen Sie es uns hier sorgfältig verstehen).
Tatsächlich ist PHP in Kombination mit MySQL-Entwicklung seit langem eine Gewohnheit, genau wie Männer und Frauen Natürlich gibt es besondere Umstände.
Verwandte Empfehlungen:
Optimierungszusammenfassung der MySQL-Datenbank
MySQL Zum Beispiel , lassen Sie mich Ihnen helfen, diese Datenbank-Militärvorschriften zu verstehen
Das obige ist der detaillierte Inhalt vonDetaillierte Beschreibung von PHP kombiniert mit MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!