suchen
HeimBackend-EntwicklungPHP-TutorialVerwendung von PHP und MySQL

Verwendung von PHP und MySQL

Nov 10, 2016 pm 01:23 PM
mysqli

PHP hat MySQL von Anfang an unterstützt und in Version 2 eine API integriert. Da die Kombination der beiden so häufig vorkommt, ist diese Erweiterung standardmäßig aktiviert. Allerdings veröffentlichte PHP 5 eine neuere MySQL-Erweiterung namens MySQL Improved, kurz mysqli.
Warum gibt es eine neue Erweiterung? Dafür gibt es zwei Gründe. Erstens entwickelt sich MySQL schnell weiter und Benutzer, die auf ältere Erweiterungen angewiesen sind, können neue Funktionen wie vorbereitete Anweisungen, erweiterte Verbindungsoptionen und Sicherheitsverbesserungen nicht nutzen. Zweitens war die Verwendung der alten Erweiterung sicherlich in Ordnung, viele Leute hielten die prozedurale Schnittstelle jedoch für veraltet und bevorzugten die objektorientierte Schnittstelle nicht nur wegen der engeren Integration mit anderen Anwendungen, sondern auch wegen der Möglichkeit, sie nach Bedarf zu erweitern. Um diese Mängel zu beheben, entschieden die MySQL-Entwickler, dass es an der Zeit sei, die Erweiterung zu überarbeiten und dabei nicht nur das interne Verhalten zu ändern, um die Leistung zu verbessern, sondern auch zusätzliche Funktionen einzuführen, die die Nutzung der in neueren Versionen von MySQL verfügbaren Funktionen erleichtern.
Mehrere wichtige Verbesserungen:
# Objektorientiert: MySQL-Erweiterungen sind in eine Reihe von Klassen gekapselt und fördern so die Verwendung eines Programmierparadigmas, das viele Menschen für bequemer und effizienter halten als den traditionellen prozeduralen Ansatz von PHP. Aber diejenigen, die das prozedurale Paradigma bevorzugen, müssen sich keine Sorgen machen, denn es bietet auch eine traditionelle prozedurale Schnittstelle.
# vorbereitete Anweisungen: Kann SQL-Injection-Angriffe verhindern. Dadurch entfallen der Aufwand und die Unannehmlichkeiten, die durch wiederholt ausgeführte Abfragen entstehen.
# Transaktionsunterstützung: Obwohl die ursprüngliche MySQL-Erweiterung von PHP auch Transaktionsfunktionen unterstützen kann, bietet die MySQLi-Erweiterung eine objektorientierte Schnittstelle zu diesen Funktionen.
# Erweiterte Debugging-Funktionen: Die MySQLi-Erweiterung bietet viele Methoden zum Debuggen von Abfragen und macht den Entwicklungsprozess effizienter.
# Unterstützung für eingebettete Server: MySQL 4.0 führt eine eingebettete MySQL-Serverbibliothek ein, sodass interessierte Benutzer einen vollständigen MYSQL-Server in Client-Anwendungen wie Desktop-Programmen ausführen können. Die mysqli-Erweiterung stellt Methoden für die Verbindung zu und den Betrieb auf diesen eingebetteten MySQL-Servern bereit.
# Master/Slave-Unterstützung: Ab MySQL 3.23.15 bietet MySQL Unterstützung für die Replikation. Mithilfe der mysqli-Erweiterung können Sie sicherstellen, dass Abfragen in einer replizierten Konfiguration an den Masterserver weitergeleitet werden.

Benutzer, die mit der ursprünglichen MySQL-Erweiterung vertraut sind, werden die erweiterte MySQL-Erweiterung mit fast derselben Namenskonvention sehr vertraut finden. Beispielsweise heißt die Datenbankverbindungsfunktion mysqli_connect statt mysql_connect.

1. Voraussetzungen für die Installation
Ab PHP 5 ist die MySQL-Unterstützung nicht im Standard-PHP-Distributionspaket enthalten. Daher muss PHP explizit konfiguriert werden, um diese Erweiterung nutzen zu können.

1.1. Aktivieren Sie die MySQLi-Erweiterung unter Linux/UNIX.
Verwenden Sie das Flag --with-mysqli, wenn Sie PHP konfigurieren. Es sollte auf den Speicherort des Programms mysql_config in MySQL 4.1 und höher verweisen.
1.2. Um die mysqli-Erweiterung unter Windows zu aktivieren
Sie müssen php.ini ändern und diese Zeile auskommentieren: extension=php_mysqli.dll. Wenn nicht, fügen Sie diese Zeile hinzu. Bevor Sie eine Erweiterung aktivieren, stellen Sie natürlich sicher, dass die PHP-Direktive extension_dir auf das entsprechende Verzeichnis verweist.
1.3. Verwenden Sie den lokalen MYSQL-Treiber
In der Vergangenheit musste die MySQL-Clientbibliothek auf dem Server installiert werden, auf dem das PHP-Programm ausgeführt wird, unabhängig davon, ob der MYSQL-Server lokal oder anderswo ist. PHP 5.3 beseitigt diese Anforderung und führt einen neuen MySQL-Treiber namens MySQL Native Driver, auch mysqlnd genannt, ein, der viele Vorteile gegenüber dem gerade erwähnten Treiber bietet. Es handelt sich nicht um eine neue API, sondern um einen neuen „Conduit“, den bestehende APIs (mysql, mysqli, PDO_MySQL) für die Kommunikation mit einem MySQL-Server nutzen können. Es wird empfohlen, mysqlnd anstelle anderer Treiber zu verwenden (es sei denn, Sie haben einen sehr guten Grund).

Um mysqlnd mit einer Erweiterung zu verwenden, müssen Sie PHP neu kompilieren, zum Beispiel: --with-mysqli=mysqlnd. Sie können auch einige weitere angeben, z. B. %>./configure --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd

Der mysqlnd-Treiber unterliegt auch einigen Einschränkungen. Derzeit bietet es weder Komprimierung noch SSL-Unterstützung.

1.4. Benutzerberechtigungen verwalten
Wenn ein Skript eine Verbindung zum MySQL-Server initialisiert, werden Berechtigungen übergeben und überprüft. Das Gleiche gilt für die Übermittlung von Befehlen, die eine Berechtigungsüberprüfung erfordern. Sie müssen jedoch nur den Ausführungsbenutzer bestätigen, wenn Sie eine Verbindung herstellen; bei nachfolgenden Ausführungen des Skripts wird es sich immer um diesen Benutzer handeln, es sei denn, es wird später eine neue Verbindung hergestellt.

1.5. Beispieldaten verwenden
Es ist einfach, einige Beispiele hinzuzufügen, wenn Sie neues Wissen erlernen. Datenbank: Unternehmen; Tabelle: Produkte
CREATE TABLE Produkte (
id INT NOT NULL AUTO_INCREMENT,
sku VARCHAR(8) NOT NULL,
name VARCHAR(100) NOT NULL,
price DECIMAL (5,2) NOT NULL,
PRIMARY KEY(id)

)
======================== =============================================== =
2. MySQL-Erweiterung verwenden
2.1 Verbindungen herstellen und trennen
Zuerst müssen Sie eine Verbindung zum Server herstellen, dann eine Datenbank auswählen und dann die Verbindung schließen. Objektorientiert und prozedural sind beide mögliche Stile.
Um die objektorientierte Schnittstelle für die Interaktion mit dem MySQL-Server zu verwenden, müssen Sie sie zunächst mit dem Konstruktor der MySQL-Klasse instanziieren.
mysqli([string host [, string username [, string pswd
> ] [, string dbname [, int port, [string socket]]]]]])
Benutzer, die PHP und MySQL verwendet haben In der Vergangenheit wurde festgestellt, dass viele Parameter dieses Konstruktors mit denen der herkömmlichen Funktion mysql_connect() identisch sind.
$mysqli = new mysqli('localhost', 'catalog_user', 'secret', 'corporate');
Wenn Sie irgendwann zu einem anderen Server wechseln oder eine andere Datenbank auswählen möchten, können Sie connect verwenden () und select_db() Methoden. Die Parameter der connect()-Methode sind dieselben wie die des Konstruktors der MySQL-Klasse.
// Instanziieren Sie die MySQL-Klasse
$mysqli = new mysqli();
// Stellen Sie eine Verbindung zum Datenbankserver her und wählen Sie eine Datenbank aus
$mysqli->connect('localhost', 'root' , '', 'Unternehmen');
---------------------------------------------------- --- -------------------------------- ---
oder
// Mit dem Datenbankserver verbinden
$mysqli = new mysqli('localhost', 'catalog_user', 'secret');
// Datenbank auswählen
$mysqli->select_db('corporate' );
Sobald die Ausführung des Skripts abgeschlossen ist, werden alle offenen Datenbankverbindungen automatisch geschlossen und Ressourcen werden wiederhergestellt. Es ist jedoch auch möglich, dass eine Seite während der Ausführung mehrere Datenbankverbindungen verwenden muss und diese Verbindungen ordnungsgemäß geschlossen werden müssen. Auch wenn nur eine Verbindung verwendet wird, empfiehlt es sich, diese am Ende des Skripts zu schließen. $mysqli->close().

2.2. Umgang mit Verbindungsfehlern
Verbindungsfehler sollten sorgfältig überwacht und entsprechende Gegenmaßnahmen ergriffen werden. Die MySQLi-Erweiterung bietet einige Funktionen, die zum Abfangen von Fehlermeldungen verwendet werden können. Eine andere Möglichkeit ist die Verwendung von Ausnahmen. Beispielsweise können mysqli_connect_errno() und mysqli_connect_error() zur Diagnose und Anzeige von MySQL-Verbindungsfehlermeldungen verwendet werden.

2.3. Erhalten Sie die Fehlermeldung
2.3.1. Erhalten Sie den Fehlercode
Die Methode errno() gibt den Fehlercode zurück, der während der letzten Ausführung der MySQL-Funktion generiert wurde. 0 bedeutet keine Fehler.
$mysqli = new mysqli('localhost', 'catalog_user', 'secret', 'corporate');
printf("Mysql-Fehlernummer generiert: %d", $mysqli- >errno);
?>
2.3.2 Die Methode „error()“ gibt die zuletzt generierte Fehlermeldung zurück. Liegt kein Fehler vor, wird ein leerer String zurückgegeben. Die Nachrichtensprache basiert auf dem MySQL-Datenbankserver.

2.4. Verbindungsinformationen in einer separaten Datei speichern
Im Zusammenhang mit sicheren Programmierpraktiken ist es eine gute Idee, Passwörter regelmäßig zu ändern. Es gibt auch viele Skripte, die auf die Datenbank zugreifen müssen, und es ist zu mühsam, sie einzeln zu ändern. Die Lösung besteht darin, es in einer separaten Datei zu speichern und bei Bedarf in Ihre aktuelle Datei einzubinden.
Sie können beispielsweise den MySQL-Konstruktor in eine Header-Datei (mysql.connect.php) einfügen:
$mysqli = new mysqli('localhost', 'catalog_user', 'secret' , 'corporate'); ?>
Dann in andere Dateien einbinden:
include 'mysql.connect.php'; // Datenbankauswahl und -abfragen beginnen.
?>
======================================== == ================================
Interaktion mit der Datenbank
3.1. Senden Sie eine Abfrage an die Datenbank
mit der Methode query(). Seine Form ist eine gemischte Abfrage (String-Abfrage [, int Ergebnismodus]). Der optionale Parameter resultmode wird verwendet, um das Verhalten dieser Methode zu ändern. Er hat zwei Werte:
ist der Standardwert. Die Rückgabe der Ergebnismenge als zwischengespeicherte Menge bedeutet, dass die gesamte Ergebnismenge sofort für die Navigation bereit ist. Obwohl es etwas speicherintensiv ist, ermöglicht es Ihnen, den gesamten Ergebnissatz auf einmal zu verwenden. Daher ist es nützlich, wenn Sie versuchen, Ergebnissätze zu analysieren und zu verwalten. Beispielsweise möchten Sie möglicherweise wissen, wie viele Datenzeilen von einer Abfrage zurückgegeben wurden, oder Sie möchten möglicherweise sofort zu einer bestimmten Zeile im Ergebnissatz springen.
. MYSQLI_USE_RESULT: Gibt die Ergebnismenge als ungepufferte Menge zurück, was bedeutet, dass die Daten nach Bedarf vom Server abgerufen werden. Bei großen Ergebnismengen verbessert sich dadurch die Leistung, es kann jedoch nicht bestimmt werden, wie viele Datenzeilen zurückgegeben werden, und es kann auch nicht an eine bestimmte Zeile angepasst werden.
3.1.1 Daten abrufen
$mysqli = new mysqli('localhost', 'catalog_user', 'secret', 'corporate'); / Erstellen Sie die Abfrage
$query = 'SELECT sku, name, price FROM products ORDER by name';
// Abfrage an MySQL senden
$result = $mysqli->query($query, MYSQLI_STORE_RESULT

// Durch die Ergebnismenge iterieren
while(list($sku.); , $name, $price) = $result->fetch_row())
                  printf("(%s) %s: $%s
", $sku, $name, $price);
?>

3.1.2. Beim Einfügen, Aktualisieren und Löschen von Daten
wird auch die Methode query() verwendet.
$result = $mysqli->query($query, MYSQLI_STORE_RESULT);
printf("%d Zeilen wurden gelöscht.", $mysqli->affected_rows);
Natürlich vorausgesetzt, dass die Verbindung hergestellt wurde Benutzer stellt bereit. Mit ausreichenden Anmeldeinformationen können Sie jede gewünschte Abfrage ausführen, einschließlich der Erstellung und Änderung von Datenbanken, Tabellen und Indizes, und sogar MySQL-Verwaltungsaufgaben ausführen, z. B. das Erstellen und Erteilen von Berechtigungen für Benutzer.

3.1.3. Abfragespeicher freigeben
Manchmal erhalten Sie eine besonders große Ergebnismenge, dann ist es notwendig, den von der Ergebnismenge angeforderten Speicher nach Abschluss der Verarbeitung freizugeben dann kann die Ergebnismenge nicht verwendet werden. $result->free();

3.2. Analysieren Sie die Abfrageergebnisse
3.2.1 Holen Sie sich die Ergebnisse in das Objekt
while ($row = $result->fetch_object())
{
$name = $row->name;
$sku = $row->sku;
$price = $row->price; s: %s
", $sku, $name, $price)"
}

3.2.2. Verwenden Sie Index und assoziatives Array, um Ergebnisse zu erhalten
fetch_array() ist beides Ja, fetch_row() ist ein indiziertes Array.
Ihre Methodenprototypen lauten wie folgt:
class mysqli_result {
Mixed fetch_array ([int resulttype])
}
class mysqli_result {
Mixed fetch_row ()
}
Der Wert von resulttype kann MYSQLI_ASSOC oder MYSQLI_NUM oder MYSQLI_BOTH sein
[
MYSQLI_ASSOC: Der Feldname ist der Schlüssel und der Feldinhalt ist der Wert
MYSQLI_NUM: Die Reihenfolge der Feldnamen wird bestimmt. Wenn es * ist, werden alle Felder durchsucht, die auf der Feldreihenfolge in der Tabellendefinition basieren $query = 'SELECT sku, name FROM. ORDER BY name';
$result = $mysqli->query($query)
{
$name = $ row['name'];
$sku = $row['sku'];
echo "Product: $name ($sku)
"; 🎜>}
oder
while ($row = $result->fetch_array(MYSQLI_NUM))
{
$sku = $row[0];
$name = $row[1 ];
$price = $row [2];
printf("(%s) %s: %d
", $sku, $name, $price); >


3.3 Anzahl der ausgewählten Zeilen ermitteln |. Anzahl der betroffenen Zeilen

Sie möchten wissen, wie viele Zeilen von einer SELECT-Abfrage zurückgegeben werden oder wie viele Zeilen von einem INSERT betroffen sind , UPDATE- oder DELETE-Abfrage.

Die Methode num_rows() wird verwendet, um zu bestimmen, wie viele Datenzeilen von einer SELECT-Abfrageanweisung zurückgegeben werden. Zum Beispiel:

$query = 'SELECT name FROM products WHERE price > 15.99';

$result = $mysqli->query($query);

printf("Es gibt % f Produkt(e) mit einem Preis über 15,99 $., $result->num_rows);

. Die Methode „affected_rows()“ wird verwendet, um die Anzahl der Zeilen zu bestimmen, die von INSERT-, UPDATE- und DELETE-Abfragen betroffen sind.

3.4. Vorbereitete Anweisungen verwenden

Es kommt sehr häufig vor, dass eine Abfrage wiederholt ausgeführt wird und dabei jedes Mal unterschiedliche Parameterwerte verwendet werden. Die Verwendung der herkömmlichen query()-Methode in Verbindung mit einer Schleife ist jedoch nicht nur teuer (da fast dieselbe Abfrage wiederholt analysiert werden muss, um ihre Gültigkeit zu überprüfen), sondern auch unpraktisch für den Code (da sie mit neuen Werten wiederverwendet werden muss). ​​für jede Iteration). Abfragen konfigurieren), MySQL 4.1 führte vorbereitete Anweisungen ein, die die oben genannten Aufgaben mit viel geringerem Overhead und weniger Code erfüllen können.

Es gibt zwei Arten von vorbereiteten Anweisungen:

Gebundene Parameter: Sie können eine Abfrage an den MySQL-Server stellen, die geänderten Daten einfach wiederholt an den Server senden und sie dann integrieren in In der Abfrage ausgeführt. Angenommen, Sie erstellen ein Webprogramm, mit dem Benutzer Store-Artikel verwalten können. Um den Initialisierungsprozess schnell zu starten, können Sie ein Formular erstellen, das den Namen, die ID, den Preis und die Beschreibung von bis zu 20 Produkten akzeptiert diese Situation.

Gebundene Ergebnisse: Sie können PHP-Variablen an die entsprechenden abgerufenen Felder binden und so Daten aus der Ergebnismenge mithilfe indizierter Arrays oder assoziativer Arrays extrahieren und diese Variablen dann bei Bedarf verwenden.

3.4.1. Bereiten Sie die Anweisung für die Ausführung vor

Unabhängig davon, ob Sie eine vorbereitete Anweisung mit gebundenem Parameter oder gebundenem Ergebnis verwenden, müssen Sie sie zuerst für die Ausführung vorbereiten. Die Anweisung ist um die Prepare()-Methode zu verwenden.

// Neue Serververbindung erstellen
$mysqli = new mysqli('localhost', 'catalog_user', 'secret', 'corporate');

// Abfrage erstellen und entsprechende Platzhalter
$query = "SELECT sku, name, price, description
FROM products ORDER BY sku"
// Erstellen Sie ein Anweisungsobjekt
$stmt = $mysqli->stmt_init(); ;

// Bereiten Sie die Anweisung für die Ausführung vor
$stmt->prepare($query);
.. Machen Sie etwas mit der vorbereiteten Anweisung

// Stellen Sie die Anweisungsressourcen wieder her
$stmt->close();

// Verbindung schließen
$mysqli->close();

?>

3.4.2. Vorbereitete Anweisung ausführen

Sobald die Anweisung fertig ist, müssen Sie sie ausführen. Der Zeitpunkt der Ausführung hängt davon ab, ob Sie gebundene Parameter oder gebundene Ergebnisse verwenden möchten. Im ersteren Fall wird die Anweisung ausgeführt, nachdem die Parameter gebunden wurden. Im letzteren Fall wird diese Methode ausgeführt, bevor das Ergebnis gebunden wird. Die Ausführung von Anweisungen in beiden Methoden wird durch die Methodeexecute() abgeschlossen.

3.4.3. Vorbereitete Anweisungsressourcen verwenden [close()-Methode verwenden]

3.4.4. Bind-Parameter

Wenn Sie eine vorbereitete Anweisung mit gebundenen Parametern verwenden, müssen Sie die Methode bind_param() aufrufen, um den Variablennamen an das entsprechende Feld zu binden. Sein Prototyp lautet wie folgt:

class stmt {

boolean bind_param(stringtypes, Mixed &var1 [, Mixed &varN])

}

Der Parameter „types“ stellt jede nachfolgende Variable dar ( d. h. &var1, ..., &varN) ist dieser Parameter erforderlich, um die effizienteste Kodierung der Daten beim Senden an den Server sicherzustellen. Derzeit werden 4 Arten von Codes unterstützt.

.i: Alle INTEGER-Typen

.d: DOUBLE- und FLOAT-Typen

.b: BLOB-Typen

.s: Alle anderen Typen (einschließlich String)

Zum Beispiel:

// Neue Serververbindung erstellen

$mysqli = new mysqli('localhost', 'catalog_user ', 'secret', 'corporate');
// Erstellen Sie die Abfrage und die entsprechenden Platzhalter
$query = "INSERT INTO products SET id=NULL, sku=?,
name=? , price =?";

// Ein Anweisungsobjekt erstellen
$stmt = $mysqli->stmt_init();

// Die Anweisung für die Ausführung vorbereiten
$stmt -> Prepare($query);

// Die Parameter binden
$stmt->bind_param('ssd', $sku, $name, $price);

// Zuweisen Gepostetes SKU-Array
$skuarray = $_POST['sku']; // Gepostetes Namensarray zuweisen
$namearray = $_POST['name']; // Weisen Sie das angegebene Preisarray zu
$pricearray = $_POST['price']; // Initialisieren Sie den Zähler
$x = 0;

// Durchlaufen das Array und führen Sie die Abfrage iterativ aus
while ($x $sku = $skuarray[$x]; 🎜> $price = $pricearray[$x];
$stmt->execute();

}

// Wiederherstellen der Anweisungsressourcen
$stmt- >close ();
// Verbindung schließen
$mysqli->close();

?>



3.4.5 , Bind Variablen

Wenn die Abfrage fertig ist und ausgeführt wird, können Sie einige Variablen an die abgerufenen Felder binden. Es wird die Methode bind_result() verwendet. Sein Prototyp lautet wie folgt:

class mysqli_stmt {
boolean bind_result(mixed &var1 [, Mixed &varN])
}

Angenommen, Sie möchten die ersten 30 zurückgeben Elemente in der Produkttabelle Eine Liste von Produkten. Der folgende Code bindet die Variablen $sku, $name und $price an die abgerufenen Felder.

 
    // Neue Serververbindung erstellen 
    $mysqli = new mysqli('localhost', 'catalog_user', 'secret', 'corporate'); 
 
    // Abfrage erstellen 
    $query = 'SELECT sku, name, price FROM products ORDER BY sku'; 
 
    // Ein Anweisungsobjekt erstellen 
    $stmt = $mysqli->stmt_init(); 
 
    // Bereiten Sie die Anweisung für die Ausführung vor 
    $stmt->prepare($query); 
 
    // Anweisung ausführen 
    $stmt->execute(); 
 
    // Ergebnisparameter binden 
    $stmt->bind_result($sku, $name, $price);

    // Durch die Ergebnisse blättern und die Daten ausgeben 

    while($stmt->fetch()) 
        printf("%s, %s, %s
", $sku, $name, $price); 
 
    // Die Kontoauszugsressourcen wiederherstellen 
    $stmt->close(); 
 
    // Verbindung schließen 
    $mysqli->close(); 
 
?>

 

3.4.6、从 Vorbereitete Anweisungen 获取数据行

    fetch() 方法从 vorbereitetes Anweisungsergebnis 中获取每一行,并将字段赋值到绑定结果中.其原型如下:

class mysqli { 
    boolean fetch() 
}

=========== =============================================== ==============

 

4、执行数据库事务

4.1、开启自动提交模式

class mysqli { 
    boolean autocommit(boolean mode) 
}

传 TRUE 就是启用, FALSE 就是禁用.

 

4.2、提交一个事务

class mysqli { 
    boolean commit() 
}

 

4.3、回滚一个事务

class mysqli { 
    boolean rollback ()
}


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
Wie funktioniert der Php -Typ -Hinweis, einschließlich Skalartypen, Rückgabetypen, Gewerkschaftstypen und nullbaren Typen?Wie funktioniert der Php -Typ -Hinweis, einschließlich Skalartypen, Rückgabetypen, Gewerkschaftstypen und nullbaren Typen?Apr 17, 2025 am 12:25 AM

PHP -Typ -Eingabeaufforderungen zur Verbesserung der Codequalität und der Lesbarkeit. 1) Tipps zum Skalartyp: Da Php7.0 in den Funktionsparametern wie int, float usw. angegeben werden dürfen. 3) Eingabeaufforderung für Gewerkschaftstyp: Da Php8.0 in Funktionsparametern oder Rückgabetypen angegeben werden dürfen. 4) Nullierstyp Eingabeaufforderung: Ermöglicht die Einbeziehung von Nullwerten und Handlungsfunktionen, die Nullwerte zurückgeben können.

Wie handelt es sich bei PHP -Objektklonen (Klonschlüsselwort) und der __clone Magic -Methode?Wie handelt es sich bei PHP -Objektklonen (Klonschlüsselwort) und der __clone Magic -Methode?Apr 17, 2025 am 12:24 AM

Verwenden Sie in PHP das Klonschlüsselwort, um eine Kopie des Objekts zu erstellen und das Klonierungsverhalten über die \ _ \ _ Clone Magic -Methode anzupassen. 1. Verwenden Sie das Klonschlüsselwort, um eine flache Kopie zu erstellen und die Eigenschaften des Objekts, nicht die Eigenschaften des Objekts zu klonen. 2. Die \ _ \ _ Klonmethode kann verschachtelte Objekte tief kopieren, um flache Kopierprobleme zu vermeiden. 3. achten Sie darauf, dass kreisförmige Referenzen und Leistungsprobleme beim Klonen vermieden werden, und optimieren Sie die Klonierungsvorgänge, um die Effizienz zu verbessern.

PHP vs. Python: Anwendungsfälle und AnwendungenPHP vs. Python: Anwendungsfälle und AnwendungenApr 17, 2025 am 12:23 AM

PHP eignet sich für Webentwicklungs- und Content -Management -Systeme, und Python eignet sich für Datenwissenschafts-, maschinelles Lernen- und Automatisierungsskripte. 1.PHP hat eine gute Leistung beim Erstellen von schnellen und skalierbaren Websites und Anwendungen und wird üblicherweise in CMS wie WordPress verwendet. 2. Python hat sich in den Bereichen Datenwissenschaft und maschinelles Lernen mit reichen Bibliotheken wie Numpy und TensorFlow übertrifft.

Beschreiben Sie verschiedene HTTP-Caching-Header (z. B. Cache-Control, ETAG, Last-modifiziert).Beschreiben Sie verschiedene HTTP-Caching-Header (z. B. Cache-Control, ETAG, Last-modifiziert).Apr 17, 2025 am 12:22 AM

Zu den wichtigsten Spielern in HTTP-Cache-Headern gehören Cache-Control, ETAG und Last-modifiziert. 1.Cache-Control wird verwendet, um die Richtlinien zu kontrollieren. Beispiel: Cache-Control: max-ay = 3600, öffentlich. 2. ETAG überprüft Ressourcenänderungen durch eindeutige Identifikatoren, Beispiel: ETAG: "686897696A7C876B7E". 3. Last-modifiziert gibt die letzte Änderungszeit der Ressource an, Beispiel: Last-Modified: Mi, 21okt201507: 28: 00GMT.

Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden?Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden?Apr 17, 2025 am 12:06 AM

In PHP sollten die Funktionen für Passwort_Hash und passwart_verify verwendet werden, um sicheres Passwort -Hashing zu implementieren, und MD5 oder SHA1 sollte nicht verwendet werden. 1) Passwort_hash generiert einen Hash, der Salzwerte enthält, um die Sicherheit zu verbessern. 2) Passwort_Verify prüfen Sie das Passwort und sicherstellen Sie die Sicherheit, indem Sie die Hash -Werte vergleichen. 3) MD5 und SHA1 sind anfällig und fehlen Salzwerte und sind nicht für die Sicherheit der modernen Passwort geeignet.

PHP: Eine Einführung in die serverseitige SkriptsprachePHP: Eine Einführung in die serverseitige SkriptspracheApr 16, 2025 am 12:18 AM

PHP ist eine serverseitige Skriptsprache, die für dynamische Webentwicklung und serverseitige Anwendungen verwendet wird. 1.PHP ist eine interpretierte Sprache, die keine Zusammenstellung erfordert und für die schnelle Entwicklung geeignet ist. 2. PHP -Code ist in HTML eingebettet, wodurch es einfach ist, Webseiten zu entwickeln. 3. PHP verarbeitet die serverseitige Logik, generiert die HTML-Ausgabe und unterstützt Benutzerinteraktion und Datenverarbeitung. 4. PHP kann mit der Datenbank interagieren, die Einreichung von Prozessformularen und serverseitige Aufgaben ausführen.

PHP und das Web: Erforschen der langfristigen AuswirkungenPHP und das Web: Erforschen der langfristigen AuswirkungenApr 16, 2025 am 12:17 AM

PHP hat das Netzwerk in den letzten Jahrzehnten geprägt und wird weiterhin eine wichtige Rolle bei der Webentwicklung spielen. 1) PHP stammt aus dem Jahr 1994 und ist aufgrund seiner Benutzerfreundlichkeit und der nahtlosen Integration in MySQL die erste Wahl für Entwickler. 2) Zu den Kernfunktionen gehört das Generieren dynamischer Inhalte und die Integration in die Datenbank, sodass die Website in Echtzeit aktualisiert und auf personalisierte Weise angezeigt wird. 3) Die breite Anwendung und das Ökosystem von PHP hat seine langfristigen Auswirkungen angetrieben, steht jedoch auch mit Versionsaktualisierungen und Sicherheitsherausforderungen gegenüber. 4) Leistungsverbesserungen in den letzten Jahren, wie die Veröffentlichung von PHP7, ermöglichen es ihm, mit modernen Sprachen zu konkurrieren. 5) In Zukunft muss PHP sich mit neuen Herausforderungen wie Containerisierung und Microservices befassen, aber seine Flexibilität und die aktive Community machen es anpassungsfähig.

Warum PHP verwenden? Vorteile und Vorteile erläutertWarum PHP verwenden? Vorteile und Vorteile erläutertApr 16, 2025 am 12:16 AM

Zu den Kernvorteilen von PHP gehören einfacher Lernen, starke Unterstützung für Webentwicklung, reiche Bibliotheken und Rahmenbedingungen, hohe Leistung und Skalierbarkeit, plattformübergreifende Kompatibilität und Kosteneffizienz. 1) leicht zu erlernen und zu bedienen, geeignet für Anfänger; 2) gute Integration in Webserver und unterstützt mehrere Datenbanken. 3) leistungsstarke Frameworks wie Laravel; 4) hohe Leistung kann durch Optimierung erzielt werden; 5) mehrere Betriebssysteme unterstützen; 6) Open Source, um die Entwicklungskosten zu senken.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools