PHP MySQLi Funktioner: mysqli_query, mysqli_connect, mysqli_fetch_array

PHP har en rik samling av inbyggda funktioner för att manipulera MySQL databaser.

PHP mysqli_connect funktion

PHP mysql connect-funktionen används för att ansluta till en MySQL databasserver.

Den har följande syntax.

<?php;
$db_handle = mysqli_connect($db_server_name, $db_user_name, $db_password);
?>

HÄR,

  • "$db_handle" är resursvariabeln för databasanslutningen.
  • "mysqli_connect(...)" är funktionen för php-databasanslutning
  • "$server_name" är namnet eller IP-adressen för servervärden MySQL servern.
  • "$user_name" är ett giltigt användarnamn i MySQL servern.
  • "$password" är ett giltigt lösenord kopplat till ett användarnamn i MySQL servern.

PHP mysqli_select_db funktion

Funktionen mysqli_select_db används för att välja en databas.

Den har följande syntax.

<?php
mysqli_select_db($db_handle,$database_name);
?>

HÄR,

  • "mysqli_select_db(...)" är databasvalsfunktionen som returnerar antingen sant eller falskt
  • "$database_name" är namnet på databasen
  • "$link_identifier" är valfritt, det används för att skicka in serveranslutningslänken

PHP mysqli_query funktion

Funktionen mysqli_query används för att köra SQL frågor.

Funktionen kan användas för att exekvera följande frågetyper;

  • Insert
  • Välja
  • Uppdatering
  • radera

Den har följande syntax.

<?php
mysqli_query($db_handle,$query) ;
?>

HÄR,

  • "mysqli_query(...)" är funktionen som exekverar SQL-frågorna.
  • "$query" är SQL-frågan som ska köras
  • "$link_identifier" är valfritt, det kan användas för att skicka in serveranslutningslänken

PHP mysqli_num_rows funktion

Funktionen mysqli_num_rows används för att få antalet rader som returneras från en urvalsfråga.

Den har följande syntax.

<?php
mysqli_num_rows($result);
?>

HÄR,

  • "mysqli_num_rows(...)" är radräkningsfunktionen
  • "$result" är resultatuppsättningen mysqli_query

PHP mysqli_fetch_array funktion

Funktionen mysqli_fetch_array används hämta radmatriser från en frågeresultatuppsättning.

Den har följande syntax.

<?php
mysqli_fetch_array($result);
?>

HÄR,

  • "mysqli_fetch_array(...)" är funktionen för att hämta radarrayer
  • "$result" är resultatet som returneras av funktionen mysqli_query.

PHP mysqli_close funktion

Funktionen mysqli_close används för att stänga en öppen databasanslutning.

Den har följande syntax.

<?php
mysqli_close($db_handle);
?>

HÄR,

  • "mysqli_close(...)" är PHP-funktionen
  • "$link_identifier" är valfritt, det används för att skicka in serveranslutningsresursen

Låt oss titta på praktiska exempel som drar fördel av dessa funktioner.

Skapa MySQL databas Denna handledning förutsätter kunskap om MySQL och SQL, om dessa termer är obekanta för dig, se vår MySQL och SQL tutorials.

Vi kommer att skapa en enkel databas som heter my_personal_contacts med endast en tabell.

Nedan följer stegen för att skapa databasen och tabellen.

  • Anslut till MySQL använda ditt favoritåtkomstverktyg som t.ex MySQL arbetsbänk, phpMyAdmin etc.
  • Skapa en databas med namnet my_person_contacts
  • Utför skriptet som visas nedan för att skapa tabellen och infoga lite dummydata
<?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');
?>

Vi har nu en databas som vi kommer att manipulera från PHP.

Läsa poster från databasen Vi kommer nu att skapa ett program som skriver ut posterna från databasen.

<?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 
?>

Genom att köra koden ovan returneras resultaten som visas i diagrammet nedan

PHP: MySQL Funktioner

Lägger in nya rekord

Låt oss nu titta på ett exempel som lägger till ett nytt rekord i vår tabell. koden nedan visar implementeringen.

<?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 
?>

Utför ovanstående kodutgångar "Poseidon har lagts till i din kontaktlista" gå tillbaka till exemplet med den valda frågan och hämta dina kontakter igen.

Se om Poseidon har lagts till i din lista.

Uppdatera poster Låt oss nu titta på ett exempel som uppdaterar en post i databasen.

Låt oss anta att Poseidon har ändrat sitt kontaktnummer och sin e-postadress.

<?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 
?>

Ta bort poster

Låt oss nu titta på ett exempel som tar bort poster från databasen. Låt oss anta att Venus har ett besöksförbud mot oss, och vi måste ta bort hennes kontaktuppgifter från vår databas.

<?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 Data Access Object PDO

PDO är en klass som låter oss manipulera olika databasmotorer som t.ex MySQL, PostGres, MS SQL Server etc.

Koden nedan visar databasåtkomstmetoden med PDO-objektet.

Notera: koden nedan förutsätter kunskap om SQL-språk, arrayer, undantagshantering och foreach loop.

<?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(); 
} 
?>

HÄR,

  • "försök{...fånga...}" är undantagshanteringsblocket
  • "$pdo = new PDO("mysql..." skapar en instans av PDO-objektet och skickar databasdrivrutinerna, server- och databasnamn, användar-id och lösenord.
  • "$pdo->setAtt..." ställer in attributen för PDO-felläge och undantagsläge
  • “$pdo->exec('SET NA...” ställer in kodningsformatet

ODBC ODBC är förkortningen för Open Database Connectivity. Den har följande grundläggande syntax.

<?php $conn = odbc_connect($dsn, $user_name, $password); ?>

HÄR,

  • "odbc_connect" är den inbyggda PHP-funktionen
  • "$dsn" är ODBC-datakällans namn.
  • "$user_name" är valfritt, det används för ODBC-användarnamnet
  • "$password" är valfritt, det används för ODBC-lösenordet

Exemplet som används förutsätter att du;

  • Använder Windows OS
  • Du har skapat en ODBC-länk till nordvinden Microsoft Accessdatabas med namnet northwind

Nedan finns implementeringskoden för ODBC-dataåtkomst

<?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); 
?>

Sammanfattning

  • MySQL är en relationsdatabashantering med öppen källkod tillgänglig på de flesta webbhotellservrar
  • PHP har en rik samling av inbyggda funktioner som förenklar arbetet med MySQL
  • PDO är akronymen för PHP Data Object; den används för att ansluta till olika databasmotorer med samma objekt
  • PHP använder funktionen odbc_connect för att manipulera databaser via ODBC