PHP MySQLi Funktionen: mysqli_query, mysqli_connect, mysqli_fetch_array
PHP verfügt über eine umfangreiche Sammlung integrierter Funktionen zur Manipulation MySQL Datenbanken.
PHP mysqli_connect-Funktion
Die PHP-MySQL-Connect-Funktion wird verwendet, um eine Verbindung zu einem MySQL Datenbankserver.
Es hat die folgende Syntax.
<?php; $db_handle = mysqli_connect($db_server_name, $db_user_name, $db_password); ?>
HIER,
- „$db_handle“ ist die Datenbankverbindungsressourcenvariable.
- „mysqli_connect(…)“ ist die Funktion für die PHP-Datenbankverbindung
- „$server_name“ ist der Name oder die IP-Adresse des Hostservers MySQL Server.
- „$user_name“ ist ein gültiger Benutzername in MySQL Server.
- „$password“ ist ein gültiges Passwort, das einem Benutzernamen in zugeordnet ist MySQL Server.
PHP mysqli_select_db-Funktion
Die Funktion mysqli_select_db wird zum Auswählen einer Datenbank verwendet.
Es hat die folgende Syntax.
<?php mysqli_select_db($db_handle,$database_name); ?>
HIER,
- „mysqli_select_db(…)“ ist die Datenbankauswahlfunktion, die entweder true oder false zurückgibt
- „$database_name“ ist der Name der Datenbank
- „$link_identifier“ ist optional und wird zur Übergabe des Serververbindungslinks verwendet
PHP mysqli_query-Funktion
Die Funktion mysqli_query wird verwendet zur Ausführung SQL Abfragen.
Mit der Funktion können die folgenden Abfragetypen ausgeführt werden:
- Insert
- Select
- Aktualisierung
- löschen
Es hat die folgende Syntax.
<?php mysqli_query($db_handle,$query) ; ?>
HIER,
- „mysqli_query(…)“ ist die Funktion, die die SQL-Abfragen ausführt.
- „$query“ ist die auszuführende SQL-Abfrage
- „$link_identifier“ ist optional und kann zur Übergabe des Serververbindungslinks verwendet werden
PHP mysqli_num_rows-Funktion
Die Funktion mysqli_num_rows wird verwendet, um die Anzahl der von einer Auswahlabfrage zurückgegebenen Zeilen abzurufen.
Es hat die folgende Syntax.
<?php mysqli_num_rows($result); ?>
HIER,
- „mysqli_num_rows(…)“ ist die Zeilenzählfunktion
- „$result“ ist der mysqli_query-Ergebnissatz
PHP mysqli_fetch_array-Funktion
Die Funktion mysqli_fetch_array wird verwendet, um Zeilen-Arrays aus einem Abfrageergebnissatz abzurufen.
Es hat die folgende Syntax.
<?php mysqli_fetch_array($result); ?>
HIER,
- „mysqli_fetch_array(…)“ ist die Funktion zum Abrufen von Zeilenarrays
- „$result“ ist das von der Funktion mysqli_query zurückgegebene Ergebnis.
PHP mysqli_close-Funktion
Die Funktion mysqli_close wird verwendet, um eine offene Datenbankverbindung zu schließen.
Es hat die folgende Syntax.
<?php mysqli_close($db_handle); ?>
HIER,
- „mysqli_close(…)“ ist die PHP-Funktion
- „$link_identifier“ ist optional und wird zur Übergabe der Serververbindungsressource verwendet
Schauen wir uns praktische Beispiele an, die diese Funktionen nutzen.
Erstellen der MySQL Datenbank Dieses Tutorial setzt Kenntnisse über voraus MySQL und SQL, wenn Sie mit diesen Begriffen nicht vertraut sind, lesen Sie unsere MySQL und SQL-Tutorials.
Wir erstellen eine einfache Datenbank namens my_personal_contacts mit nur einer Tabelle.
Nachfolgend finden Sie die Schritte zum Erstellen der Datenbank und der Tabelle.
- Verbinden Sie MySQL Verwenden Sie Ihr bevorzugtes Zugriffstool, z MySQL Workbench, phpMyAdmin usw.
- Erstellen Sie eine Datenbank mit dem Namen my_person_contacts
- Führen Sie das unten gezeigte Skript aus, um die Tabelle zu erstellen und einige Dummy-Daten einzufügen
<?php CREATE TABLE IF NOT EXISTS `my_contacts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `full_names` varchar(255) NOT NULL, `gender` varchar(6) NOT NULL, `contact_no` varchar(75) NOT NULL, `email` varchar(255) NOT NULL, `city` varchar(255) NOT NULL, `country` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; INSERT INTO `my_contacts` (`id`, `full_names`, `gender`, `contact_no`, `email`, `city`, `country`) VALUES (1, 'Zeus', 'Male', '111', 'zeus @ olympus . mt . co', 'Agos', 'Greece'), (2, 'Anthena', 'Female', '123', 'anthena @ olympus . mt . co', 'Athens', 'Greece'), (3, 'Jupiter', 'Male', '783', 'jupiter @ planet . pt . co', 'Rome', 'Italy'), (4, 'Venus', 'Female', '987', 'venus @ planet . pt . co', 'Mars', 'Italy'); ?>
Wir haben jetzt eine Datenbank eingerichtet, die wir von PHP aus manipulieren werden.
Datensätze aus der Datenbank lesen Wir erstellen nun ein Programm, das die Datensätze aus der Datenbank druckt.
<?php $dbh = mysqli_connect('localhost', 'root', 'melody'); //connect to MySQL server if (!$dbh) die("Unable to connect to MySQL: " . mysqli_error()); //if connection failed output error message if (!mysqli_select_db($dbh,'my_personal_contacts')) die("Unable to select database: " . mysqli_error()); //if selection fails output error message $sql_stmt = "SELECT * FROM my_contacts"; //SQL select query $result = mysqli_query($dbh,$sql_stmt); //execute SQL statement if (!$result) die("Database access failed: " . mysqli_error()); //output error message if query execution failed $rows = mysqli_num_rows($result); // get number of rows returned if ($rows) { while ($row = mysqli_fetch_array($result)) { echo 'ID: ' . $row['id'] . '<br>'; echo 'Full Names: ' . $row['full_names'] . '<br>'; echo 'Gender: ' . $row['gender'] . '<br>'; echo 'Contact No: ' . $row['contact_no'] . '<br>'; echo 'Email: ' . $row['email'] . '<br>'; echo 'City: ' . $row['city'] . '<br>'; echo 'Country: ' . $row['country'] . '<br><br>'; } } mysqli_close($dbh); //close the database connection ?>
Die Ausführung des obigen Codes gibt die im unten gezeigten Diagramm gezeigten Ergebnisse zurück
Einfügen neuer Datensätze
Schauen wir uns nun ein Beispiel an, das unserer Tabelle einen neuen Datensatz hinzufügt. Der folgende Code zeigt die Implementierung.
<?php $dbh = mysqli_connect('localhost', 'root', 'melody'); //connect to MySQL server if (!$dbh) die("Unable to connect to MySQL: " . mysqli_error()); //if connection failed output error message if (!mysqli_select_db($dbh,'my_personal_contacts')) die("Unable to select database: " . mysql_error()); //if selection fails output error message $sql_stmt = "INSERT INTO `my_contacts` (`full_names`,`gender`,`contact_no`,`email`,`city`,`country`)"; $sql_stmt .= " VALUES('Poseidon','Mail','541',' poseidon @ sea . oc ','Troy','Ithaca')"; $result = mysqli_query($dbh,$sql_stmt); //execute SQL statement if (!$result) die("Adding record failed: " . mysqli_error()); //output error message if query execution failed echo "Poseidon has been successfully added to your contacts list"; mysqli_close($dbh); //close the database connection ?>
Wenn Sie den obigen Code ausführen, wird „Poseidon wurde erfolgreich zu Ihrer Kontaktliste hinzugefügt“ ausgegeben. Gehen Sie zurück zum Auswahlabfragebeispiel und rufen Sie Ihre Kontakte erneut ab.
Sehen Sie, ob Poseidon zu Ihrer Liste hinzugefügt wurde.
Datensätze aktualisieren Schauen wir uns nun ein Beispiel an, das einen Datensatz in der Datenbank aktualisiert.
Nehmen wir an, Poseidon hat seine Kontaktnummer und E-Mail-Adresse geändert.
<?php $dbh = mysqli_connect('localhost', 'root', 'melody'); //connect to MySQL server if (!$dbh) die("Unable to connect to MySQL: " . mysqli_error()); //if connection failed output error message if (!mysqli_select_db($dbh,'my_personal_contacts')) die("Unable to select database: " . mysql_error()); //if selection fails output error message $sql_stmt = "UPDATE `my_contacts` SET `contact_no` = '785',`email` = ' poseidon @ ocean . oc '; //SQL select query $sql_stmt .= " WHERE `id` = 5"; $result = mysqli_query($dbh,$sql_stmt); //execute SQL statement if (!$result) die("Deleting record failed: " . mysqli_error()); //output error message if query execution failed echo "ID number 5 has been successfully updated"; mysqli_close($dbh); //close the database connection ?>
Datensätze löschen
Schauen wir uns nun ein Beispiel an, das Datensätze aus der Datenbank entfernt. Nehmen wir an, dass Venus eine einstweilige Verfügung gegen uns hat und wir ihre Kontaktdaten aus unserem entfernen müssen Datenbank.
<?php $dbh = mysqli_connect('localhost', 'root', 'melody'); //connect to MySQL server if (!$dbh) die("Unable to connect to MySQL: " . mysqli_error()); //if connection failed output error message if (!mysqli_select_db($dbh,'my_personal_contacts')) die("Unable to select database: " . mysqli_error()); //if selection failes output error message $id = 4; //Venus's ID in the database $sql_stmt = "DELETE FROM `my_contacts` WHERE `id` = $id"; //SQL Delete query $result = mysqli_query($dbh,$sql_stmt); //execute SQL statement if (!$result) die("Deleting record failed: " . mysqli_error()); //output error message if query execution failed echo "ID number $id has been successfully deleted"; mysqli_close($dbh); //close the database connection ?>
PHP-Datenzugriffsobjekt-PDO
Das PDO ist eine Klasse, die es uns ermöglicht, verschiedene Datenbank-Engines zu manipulieren, z MySQL, PostGres, MS SQL Server usw.
Der folgende Code zeigt die Datenbankzugriffsmethode mithilfe des PDO-Objekts.
Hinweis: Der folgende Code setzt Kenntnisse der SQL-Sprache, Arrays, Ausnahmebehandlung und foreach-Schleife voraus.
<?php try { $pdo = new PDO("mysql:host=localhost;dbname=my_personal_contacts", 'root', 'melody'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->exec('SET NAMES "utf8"'); $sql_stmt = "SELECT * FROM `my_contacts`"; $result = $pdo->query($sql_stmt); $result->setFetchMode(PDO::FETCH_ASSOC); $data = array(); foreach ($result as $row) { $data[] = $row; } print_r($data); } catch (PDOException $e) { echo $e->getMessage(); } ?>
HIER,
- „try{…catch…}“ ist der Ausnahmebehandlungsblock
- „$pdo = new PDO(„mysql…“ erstellt eine Instanz des PDO-Objekts und übergibt die Datenbanktreiber, Server- und Datenbanknamen, Benutzer-ID und das Passwort.
- „$pdo->setAtt…“ legt die PDO-Fehlermodus- und Ausnahmemodus-Attribute fest
- „$pdo->exec('SET NA…“ legt das Kodierungsformat fest
ODBC ODBC ist die Abkürzung für Open Database Connectivity. Es hat die folgende grundlegende Syntax.
<?php $conn = odbc_connect($dsn, $user_name, $password); ?>
HIER,
- „odbc_connect“ ist die in PHP integrierte Funktion
- „$dsn“ ist der Name der ODBC-Datenquelle.
- „$user_name“ ist optional und wird für den ODBC-Benutzernamen verwendet
- „$password“ ist optional, es wird für das ODBC-Passwort verwendet
Das verwendete Beispiel geht davon aus, dass Sie;
- Benutzen Windows OS
- Sie haben eine ODBC-Verbindung zum Nordwind erstellt Microsoft Access-Datenbank mit dem Namen Northwind
Nachfolgend finden Sie den Implementierungscode für den ODBC-Datenzugriff
<?php $dbh = odbc_connect('northwind', '', ''); if (!$dbh) { exit("Connection Failed: " . $dbh); } $sql_stmt = "SELECT * FROM customers"; $result = odbc_exec($dbh, $sql_stmt); if (!$result) { exit("Error access records"); } while (odbc_fetch_row($result)) { $company_name = odbc_result($result, "CompanyName"); $contact_name = odbc_result($result, "ContactName"); echo "<b>Company Name (Contact Person):</b> $company_name ($contact_name) <br>"; } odbc_close($dbh); ?>
Zusammenfassung
- MySQL ist eine relationale Open-Source-Datenbankverwaltung, die auf den meisten Webhosting-Servern verfügbar ist
- PHP verfügt über eine umfangreiche Sammlung integrierter Funktionen, die die Arbeit damit vereinfachen MySQL
- PDO ist die Abkürzung für PHP Data Object; Es wird verwendet, um mit demselben Objekt eine Verbindung zu verschiedenen Datenbank-Engines herzustellen
- PHP verwendet die Funktion odbc_connect, um Datenbanken über ODBC zu manipulieren