PHP MySQLi Toiminnot: mysqli_query, mysqli_connect, mysqli_fetch_array

PHP:llรค on rikas kokoelma sisรครคnrakennettuja toimintoja manipulointia varten MySQL tietokantoja.

PHP mysqli_connect-toiminto

PHP mysql connect -toimintoa kรคytetรครคn yhteyden muodostamiseen a MySQL tietokantapalvelin.

Sillรค on seuraava syntaksi.

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

Tร„SSร„,

  • "$db_handle" on tietokantayhteyden resurssimuuttuja.
  • "mysqli_connect(โ€ฆ)" on php-tietokantayhteyden funktio
  • "$palvelimen_nimi" on isรคnnรถivรคn palvelimen nimi tai IP-osoite MySQL palvelin.
  • "$user_name" on kelvollinen kรคyttรคjรคnimi MySQL palvelin.
  • "$password" on kelvollinen salasana, joka liittyy kรคyttรคjรคnimeen MySQL palvelin.

PHP mysqli_select_db-funktio

Mysqli_select_db-funktiota kรคytetรครคn tietokannan valitsemiseen.

Sillรค on seuraava syntaksi.

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

Tร„SSร„,

  • "mysqli_select_db(โ€ฆ)" on tietokannan valintatoiminto, joka palauttaa joko tosi tai epรคtosi
  • "$tietokannan_nimi" on tietokannan nimi
  • "$link_identifier" on valinnainen, sitรค kรคytetรครคn vรคlittรคmรครคn palvelinyhteyslinkki

PHP mysqli_query -funktio

Mysqli_query-funktiota kรคytetรครคn suorittamaan SQL kyselyitรค.

Funktiota voidaan kรคyttรครค seuraavien kyselytyyppien suorittamiseen;

  • liite
  • valita
  • Pรคivitykset
  • poistaa

Sillรค on seuraava syntaksi.

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

Tร„SSร„,

  • "mysqli_query(โ€ฆ)" on funktio, joka suorittaa SQL-kyselyt.
  • "$query" on suoritettava SQL-kysely
  • "$link_identifier" on valinnainen, sitรค voidaan kรคyttรครค vรคlittรคmรครคn palvelinyhteyslinkki

PHP mysqli_num_rows -funktio

Mysqli_num_rows-funktiota kรคytetรครคn valintakyselystรค palautettujen rivien lukumรครคrรคn saamiseksi.

Sillรค on seuraava syntaksi.

<?php
mysqli_num_rows($result);
?>

Tร„SSร„,

  • "mysqli_num_rows(โ€ฆ)" on rivien laskentafunktio
  • "$tulos" on mysqli_query-tulosjoukko

PHP mysqli_fetch_array -funktio

Mysqli_fetch_array-funktiota kรคytetรครคn hakemaan rivitaulukoita kyselyn tulosjoukosta.

Sillรค on seuraava syntaksi.

<?php
mysqli_fetch_array($result);
?>

Tร„SSร„,

  • "mysqli_fetch_array(โ€ฆ)" on rivitaulukoiden noutotoiminto
  • "$tulos" on mysqli_query-funktion palauttama tulos.

PHP mysqli_close -funktio

Mysqli_close-funktiota kรคytetรครคn avoimen tietokantayhteyden sulkemiseen.

Sillรค on seuraava syntaksi.

<?php
mysqli_close($db_handle);
?>

Tร„SSร„,

  • "mysqli_close(โ€ฆ)" on PHP-funktio
  • "$link_identifier" on valinnainen, sitรค kรคytetรครคn palvelinyhteysresurssin vรคlittรคmiseen

Katsotaanpa kรคytรคnnรถn esimerkkejรค, jotka hyรถdyntรคvรคt nรคitรค toimintoja.

Luominen MySQL tietokanta Tรคmรค opetusohjelma edellyttรครค tietoa MySQL ja SQL, jos nรคmรค termit eivรคt ole sinulle tuttuja, katso meidรคn MySQL ja SQL tutoriaalit.

Luomme yksinkertaisen tietokannan nimeltรค my_personal_contacts, jossa on vain yksi taulukko.

Alla on vaiheet tietokannan ja taulukon luomiseksi.

  • Yhdistรค MySQL kรคyttรคmรคllรค suosikkityรถkaluasi, kuten MySQL tyรถpรถytรค, phpMyAdmin jne.
  • Luo tietokanta nimeltรค my_person_contacts
  • Suorita alla oleva komentosarja luodaksesi taulukon ja lisรครคmรคllรค joitakin vรครคriรค tietoja
<?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');
?>

Meillรค on nyt perustettu tietokanta, jota kรคsittelemme PHP:llรค.

Tietueiden lukeminen tietokannasta Luomme nyt ohjelman, joka tulostaa tietueet tietokannasta.

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

Yllรค olevan koodin suorittaminen palauttaa alla olevan kaavion tulokset

PHP: MySQL Tehtรคvรคt

Uusien tietueiden lisรครคminen

Katsotaanpa nyt esimerkkiรค, joka lisรครค uuden tietueen taulukkoomme. alla oleva koodi nรคyttรครค toteutuksen.

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

Suorittamalla yllรค olevat kooditulosteet "Poseidon on lisรคtty onnistuneesti yhteystietoluetteloosi" palaa valintakyselyesimerkkiin ja hae yhteystietosi uudelleen.

Katso, onko Poseidon lisรคtty luetteloosi.

Tietueiden pรคivittรคminen Katsotaan nyt esimerkkiรค, joka pรคivittรครค tietueen tietokannassa.

Oletetaan, ettรค Poseidon on vaihtanut puhelinnumeronsa ja sรคhkรถpostiosoitteensa.

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

Tietueiden poistaminen

Katsotaan nyt esimerkkiรค, joka poistaa tietueita tietokannasta. Oletetaan, ettรค Venuksella on meitรค vastaan โ€‹โ€‹lรคhestymiskielto, ja meidรคn on poistettava hรคnen yhteystietonsa tietokanta.

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

PDO on luokka, jonka avulla voimme kรคsitellรค erilaisia โ€‹โ€‹tietokantakoneita, kuten MySQL, PostGres, MS SQL Server jne.

Alla oleva koodi nรคyttรครค tietokannan kรคyttรถtavan kรคyttรคmรคllรค PDO-objektia.

Huomautus: alla oleva koodi edellyttรครค SQL-kielen, taulukoiden, poikkeusten kรคsittelyn ja foreach-silmukan tuntemusta.

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

Tร„SSร„,

  • "try{...catch...}" on poikkeusten kรคsittelylohko
  • โ€œ$pdo = new PDO(โ€mysqlโ€ฆโ€ luo PDO-objektin esiintymรคn ja vรคlittรครค tietokantaohjaimet, palvelimen ja tietokannan nimet, kรคyttรคjรคtunnuksen ja salasanan.
  • โ€œ$pdo->setAttโ€ฆโ€ asettaa PDO-virhetilan ja poikkeustilan attribuutit
  • โ€œ$pdo->exec('SET NAโ€ฆโ€ mรครคrittรครค koodausmuodon

ODBC ODBC on lyhenne sanoista Open Database Connectivity. Siinรค on seuraava perussyntaksi.

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

Tร„SSร„,

  • "odbc_connect" on PHP:n sisรครคnrakennettu toiminto
  • "$dsn" on ODBC-tietolรคhteen nimi.
  • "$user_name" on valinnainen, sitรค kรคytetรครคn ODBC-kรคyttรคjรคnimenรค
  • "$password" on valinnainen, sitรค kรคytetรครคn ODBC-salasanana

Kรคytetty esimerkki olettaa sinua;

  • Kรคyttรคvรคt Windows OS
  • Olet luonut ODBC-linkin pohjoistuuleen Microsoft Pรครคsy tietokantaan nimeltรค Northwind

Alla on ODBC-tietojen kรคytรถn toteutuskoodi

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

Yhteenveto

  • MySQL on avoimen lรคhdekoodin relaatiotietokannan hallinta, joka on saatavilla useimmilla web-hosting-palvelimilla
  • PHP:llรค on runsas kokoelma sisรครคnrakennettuja toimintoja, jotka yksinkertaistavat tyรถskentelyรค MySQL
  • PDO on lyhenne sanoista PHP Data Object; sitรค kรคytetรครคn muodostamaan yhteys eri tietokantakoneisiin kรคyttรคmรคllรค samaa objektia
  • PHP kรคyttรครค odbc_connect-funktiota tietokantojen kรคsittelyyn ODBC:n kautta

Tiivistรค tรคmรค viesti seuraavasti: