PHP MySQLالوظائف: mysqli_query، mysqli_connect، mysqli_fetch_array

لدى PHP مجموعة غنية من الوظائف المضمنة للمعالجة MySQL قواعد بيانات.

دالة PHP mysqli_connect

يتم استخدام دالة PHP mysql connect للاتصال بـ MySQL خادم قاعدة البيانات.

يحتوي على الصيغة التالية.

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

هنا،

  • "$db_handle" هو متغير مورد اتصال قاعدة البيانات.
  • "mysqli_connect(…)" هي الدالة الخاصة باتصال قاعدة بيانات php
  • "$server_name" هو الاسم أو عنوان IP الخاص بالخادم المستضيف MySQL الخادم.
  • "$user_name" هو اسم مستخدم صالح في MySQL الخادم.
  • "$password" هي كلمة مرور صالحة مرتبطة باسم المستخدم في MySQL الخادم.

دالة PHP mysqli_select_db

يتم استخدام الدالة mysqli_select_db لتحديد قاعدة البيانات.

يحتوي على الصيغة التالية.

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

هنا،

  • "mysqli_select_db(…)" هي دالة اختيار قاعدة البيانات التي ترجع القيمة true أو false
  • "$database_name" هو اسم قاعدة البيانات
  • يعد "$link_identifier" اختياريًا، ويتم استخدامه لتمرير رابط اتصال الخادم

دالة PHP mysqli_query

يتم استخدام دالة mysqli_query لتنفيذ SQL استفسار.

يمكن استخدام الوظيفة لتنفيذ أنواع الاستعلام التالية؛

  • إدراج
  • أختار
  • تحديث
  • حذف

يحتوي على الصيغة التالية.

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

هنا،

  • "mysqli_query(…)" هي الوظيفة التي تقوم بتنفيذ استعلامات SQL.
  • "$query" هو استعلام SQL الذي سيتم تنفيذه
  • يعد "$link_identifier" اختياريًا، ويمكن استخدامه لتمرير رابط اتصال الخادم

دالة PHP mysqli_num_rows

يتم استخدام الدالة mysqli_num_rows للحصول على عدد الصفوف التي تم إرجاعها من استعلام تحديد.

يحتوي على الصيغة التالية.

<?php
mysqli_num_rows($result);
?>

هنا،

  • "mysqli_num_rows(…)" هي دالة عدد الصفوف
  • "$result" هي مجموعة نتائج mysqli_query

دالة PHP mysqli_fetch_array

تُستخدم وظيفة mysqli_fetch_array لجلب صفوف المصفوفات من مجموعة نتائج الاستعلام.

يحتوي على الصيغة التالية.

<?php
mysqli_fetch_array($result);
?>

هنا،

  • "mysqli_fetch_array(…)" هي الدالة الخاصة بجلب صفوف البيانات
  • "$result" هي النتيجة التي تم إرجاعها بواسطة دالة mysqli_query.

دالة PHP mysqli_close

يتم استخدام الدالة mysqli_close لإغلاق اتصال قاعدة البيانات المفتوحة.

يحتوي على الصيغة التالية.

<?php
mysqli_close($db_handle);
?>

هنا،

  • "mysqli_close(…)" هي دالة PHP
  • يعد "$link_identifier" اختياريًا، ويتم استخدامه لتمرير مورد اتصال الخادم

دعونا نلقي نظرة على الأمثلة العملية التي تستفيد من هذه الوظائف.

خلق MySQL قاعدة البيانات هذا البرنامج التعليمي يفترض معرفة MySQL وSQL، إذا كانت هذه المصطلحات غير مألوفة بالنسبة لك، فارجع إلى موقعنا MySQL ودروس SQL.

سنقوم بإنشاء قاعدة بيانات بسيطة تسمى my_personal_contacts تحتوي على جدول واحد فقط.

فيما يلي خطوات إنشاء قاعدة البيانات والجدول.

  • الاتصال ب MySQL باستخدام أداة الوصول المفضلة لديك مثل MySQL طاولة العمل، phpMyAdmin وما إلى ذلك.
  • قم بإنشاء قاعدة بيانات باسم my_person_contacts
  • قم بتنفيذ البرنامج النصي الموضح أدناه لإنشاء الجدول وإدراج بعض البيانات الوهمية
<?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');
?>

لدينا الآن قاعدة بيانات تم إعدادها وسنتعامل معها من PHP.

قراءة السجلات من قاعدة البيانات سنقوم الآن بإنشاء برنامج يقوم بطباعة السجلات من قاعدة البيانات.

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

يؤدي تنفيذ التعليمات البرمجية أعلاه إلى إرجاع النتائج الموضحة في الرسم البياني الموضح أدناه

PHP: MySQL وظائف

إدخال سجلات جديدة

دعونا الآن نلقي نظرة على مثال يضيف سجلاً جديدًا إلى جدولنا. يوضح الكود أدناه التنفيذ.

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

تنفيذ مخرجات التعليمات البرمجية أعلاه "تمت إضافة Poseidon بنجاح إلى قائمة جهات الاتصال الخاصة بك" ارجع إلى مثال استعلام التحديد واسترجاع جهات الاتصال الخاصة بك مرة أخرى.

معرفة ما إذا تمت إضافة بوسيدون إلى قائمتك.

تحديث السجلات دعونا الآن نلقي نظرة على مثال يقوم بتحديث سجل في قاعدة البيانات.

لنفترض أن بوسيدون قام بتغيير رقم الاتصال وعنوان البريد الإلكتروني الخاص به.

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

حذف السجلات

دعونا الآن نلقي نظرة على مثال يزيل السجلات من قاعدة البيانات. لنفترض أن فينوس لديها أمر تقييدي ضدنا، ويجب علينا إزالة معلومات الاتصال الخاصة بها من موقعنا قاعدة بيانات.

<?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 كائن الوصول إلى البيانات PDO

PDO هي فئة تسمح لنا بمعالجة محركات قواعد البيانات المختلفة مثل MySQLوPostGres وMS SQL Server وما إلى ذلك.

يوضح الكود أدناه طريقة الوصول إلى قاعدة البيانات باستخدام كائن PDO.

ملحوظة: يفترض الكود أدناه معرفة بلغة SQL والمصفوفات ومعالجة الاستثناءات وحلقة foreach.

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

هنا،

  • "try{...catch...}" هي كتلة معالجة الاستثناءات
  • "$pdo = new PDO("mysql…"" ينشئ مثيلًا لكائن PDO ويمرر برامج تشغيل قاعدة البيانات وأسماء الخادم وقاعدة البيانات ومعرف المستخدم وكلمة المرور.
  • يقوم "$pdo->setAtt..." بتعيين وضع خطأ PDO وسمات وضع الاستثناء
  • يقوم "$pdo->exec('SET NA..." بتعيين تنسيق الترميز

ODBC هو اختصار لـ Open Database Connectivity (اتصال قاعدة البيانات المفتوحة). وهو يتألف من الصيغة الأساسية التالية.

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

هنا،

  • "odbc_connect" هي وظيفة PHP المضمنة
  • "$dsn" هو اسم مصدر بيانات ODBC.
  • يعد "$user_name" اختياريًا، ويتم استخدامه لاسم مستخدم ODBC
  • يعد "$password" اختياريًا، ويتم استخدامه لكلمة مرور ODBC

المثال المستخدم يفترض أنك؛

  • يستخدمون Windows OS
  • لقد قمت بإنشاء ارتباط ODBC إلى الريح الشمالية Microsoft قاعدة بيانات الوصول المسماة northwind

يوجد أدناه رمز التنفيذ للوصول إلى بيانات ODBC

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

ملخص

  • MySQL هي إدارة قواعد بيانات علائقية مفتوحة المصدر متاحة على معظم خوادم استضافة الويب
  • تحتوي لغة PHP على مجموعة غنية من الوظائف المضمنة التي تعمل على تبسيط العمل بها MySQL
  • PDO هو اختصار لـ PHP Data Object؛ يتم استخدامه للاتصال بمحركات قاعدة بيانات مختلفة باستخدام نفس الكائن
  • يستخدم PHP الدالة odbc_connect لمعالجة قواعد البيانات عبر ODBC

تلخيص هذه التدوينة بـ: