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
- Auswรคhlen
- Update
- 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

