PHP MySQLi İşlevleri: mysqli_query, mysqli_connect, mysqli_fetch_array

PHP, işlemleri gerçekleştirmek için zengin bir yerleşik işlevler koleksiyonuna sahiptir. MySQL veritabanları.

PHP mysqli_connect işlevi

PHP mysql connect fonksiyonu bir ağa bağlanmak için kullanılır MySQL veritabanı sunucusu.

Söz dizimi şu şekildedir.

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

İŞTE,

  • “$db_handle” veritabanı bağlantısı kaynak değişkenidir.
  • “mysqli_connect(…)” php veritabanı bağlantısı işlevidir
  • “$sunucu_adı” sunucuyu barındıran sunucunun adı veya IP adresidir MySQL sunucusu.
  • “$user_name” geçerli bir kullanıcı adıdır MySQL sunucusu.
  • “$password”, bir kullanıcı adıyla ilişkili geçerli bir şifredir. MySQL sunucusu.

PHP mysqli_select_db işlevi

mysqli_select_db işlevi bir veritabanı seçmek için kullanılır.

Söz dizimi şu şekildedir.

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

İŞTE,

  • “mysqli_select_db(…)” doğru veya yanlış değerini döndüren veritabanı seçim fonksiyonudur
  • “$database_name” veritabanının adıdır
  • “$link_identifier” isteğe bağlıdır, sunucu bağlantı bağlantısını iletmek için kullanılır

PHP mysqli_query işlevi

Mysqli_query işlevi yürütmek için kullanılır SQL sorguları.

Fonksiyon aşağıdaki sorgu tiplerini yürütmek için kullanılabilir;

  • Ekle
  • Seç
  • Güncelle
  • silmek

Söz dizimi şu şekildedir.

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

İŞTE,

  • “mysqli_query(…)” SQL sorgularını yürüten fonksiyondur.
  • “$query” yürütülecek SQL sorgusudur
  • “$link_identifier” isteğe bağlıdır, sunucu bağlantı bağlantısını iletmek için kullanılabilir

PHP mysqli_num_rows işlevi

mysqli_num_rows işlevi, bir seçme sorgusundan döndürülen satır sayısını almak için kullanılır.

Söz dizimi şu şekildedir.

<?php
mysqli_num_rows($result);
?>

İŞTE,

  • “mysqli_num_rows(…)” satır sayma fonksiyonudur
  • “$result” mysqli_query sonuç kümesidir

PHP mysqli_fetch_array işlevi

mysqli_fetch_array işlevi, bir sorgu sonuç kümesinden satır dizilerini almak için kullanılır.

Söz dizimi şu şekildedir.

<?php
mysqli_fetch_array($result);
?>

İŞTE,

  • “mysqli_fetch_array(…)” satır dizilerini getirmeye yarayan fonksiyondur
  • “$result” mysqli_query işlevi tarafından döndürülen sonuçtur.

PHP mysqli_close işlevi

Mysqli_close işlevi açık bir veritabanı bağlantısını kapatmak için kullanılır.

Söz dizimi şu şekildedir.

<?php
mysqli_close($db_handle);
?>

İŞTE,

  • “mysqli_close(…)” PHP işlevidir
  • “$link_identifier” isteğe bağlıdır, sunucu bağlantı kaynağını aktarmak için kullanılır

Bu işlevlerden yararlanan pratik örneklere bakalım.

Tüm tedavilerimizde garanti sunuyoruz. Hastalarımıza ekstra maliyetler çıkartmadan uzun yıllar sağlıklı ve mutlu bir gülümseme için çalışıyoruz. MySQL veritabanı Bu eğitimde aşağıdaki konularda bilgi sahibi olunduğu varsayılır: MySQL ve SQL, eğer bu terimler size yabancıysa, MySQL ve SQL eğitimleri.

My_personal_contacts adında yalnızca tek bir tablo içeren basit bir veritabanı oluşturacağız.

Aşağıda veritabanı ve tablo oluşturma adımları verilmiştir.

  • Bağlanmak MySQL gibi favori erişim aracınızı kullanarak MySQL workbench, phpMyAdmin vb.
  • my_person_contacts adlı bir veritabanı oluşturun
  • Tabloyu oluşturmak ve bazı yapay verileri eklemek için aşağıda gösterilen betiği çalıştırın.
<?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');
?>

Artık PHP'den yöneteceğimiz bir veritabanı kurulumumuz var.

Veritabanından kayıtların okunması Şimdi veritabanından kayıtların çıktısını alan bir program oluşturacağız.

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

Yukarıdaki kodun çalıştırılması, aşağıda gösterilen şemada gösterilen sonuçları döndürür.

PHP: MySQL fonksiyonlar

Yeni kayıtlar ekleme

Şimdi tablomuza yeni bir kayıt ekleyen bir örneğe bakalım. aşağıdaki kod uygulamayı gösterir.

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

Yukarıdaki kod çıktılarını çalıştırarak “Poseidon, kişiler listenize başarıyla eklendi”, seçme sorgusu örneğine geri dönün ve kişilerinizi tekrar alın.

Poseidon'un listenize eklenip eklenmediğine bakın.

Kayıtları güncelleme Şimdi veritabanındaki bir kaydı güncelleyen bir örneğe bakalım.

Diyelim ki Poseidon iletişim numarasını ve e-posta adresini değiştirdi.

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

Kayıtları silme

Şimdi kayıtları veritabanından kaldıran bir örneğe bakalım. Diyelim ki Venüs'ün bize karşı bir uzaklaştırma emri var ve biz de onun iletişim bilgilerini dosyamızdan kaldırmalıyız. veritabanı.

<?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 Veri Erişim Nesnesi PDO

PDO, aşağıdakiler gibi farklı veritabanı motorlarını yönetmemize izin veren bir sınıftır: MySQL, PostGres, MS SQL Server vb.

Aşağıdaki kod, PDO nesnesini kullanan veritabanı erişim yöntemini gösterir.

Not: aşağıdaki kod SQL dili, diziler, istisna yönetimi ve foreach döngüsü hakkında bilgi sahibi olduğunuzu varsayar.

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

İŞTE,

  • “try{…catch…}” istisna işleme bloğudur
  • “$pdo = new PDO(“mysql…” PDO nesnesinin bir örneğini oluşturur ve veritabanı sürücülerini, sunucu ve veritabanı adlarını, kullanıcı kimliğini ve parolayı iletir.
  • “$pdo->setAtt…” PDO hata modunu ve istisna modu niteliklerini ayarlar
  • “$pdo->exec('SET NA…” kodlama formatını ayarlar

ODBC ODBC, Açık Veritabanı Bağlantısı'nın kısaltmasıdır. Aşağıdaki temel sözdizimine sahiptir.

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

İŞTE,

  • “odbc_connect” PHP'nin yerleşik işlevidir
  • “$dsn” ODBC veri kaynağı adıdır.
  • “$user_name” isteğe bağlıdır, ODBC kullanıcı adı için kullanılır
  • “$password” isteğe bağlıdır, ODBC şifresi için kullanılır

Kullanılan örnek sizi varsaymaktadır;

  • Kullanıyor Windows OS
  • Kuzey rüzgarına bir ODBC bağlantısı oluşturdunuz Microsoft Northwind adlı veritabanına erişin

ODBC veri erişimi için uygulama kodu aşağıdadır

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

ÖZET

  • MySQL çoğu web barındırma sunucusunda bulunan açık kaynaklı bir ilişkisel veritabanı yönetimidir
  • PHP, çalışmayı kolaylaştıran zengin bir yerleşik işlevler koleksiyonuna sahiptir. MySQL
  • PDO, PHP Veri Nesnesinin kısaltmasıdır; aynı nesneyi kullanarak farklı veritabanı motorlarına bağlanmak için kullanılır
  • PHP, veritabanlarını ODBC aracılığıyla yönetmek için odbc_connect işlevini kullanır