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

PHP: MySQL Funktionen

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