PHP MySQLأنا وظائف: mysqli_query, mysqlانا اتصل، mysqli_fetch_array

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

PHP mysqlوظيفة i_connect

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

لديها فولوwing بناء الجملة.

<?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 mysqlوظيفة i_select_db

• mysqlيتم استخدام الدالة i_select_db لتحديد قاعدة بيانات.

لديها فولوwing بناء الجملة.

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

هنا،

  • "mysqli_select_db(...)" هي وظيفة تحديد قاعدة البيانات التي تُرجع إما صواب أو خطأ
  • "$database_name" هو اسم قاعدة البيانات
  • يعد "$link_identifier" اختياريًا، ويتم استخدامه لتمرير رابط اتصال الخادم

PHP mysqlوظيفة i_query

• mysqlيتم استخدام وظيفة i_query للتنفيذ SQL استفسار.

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

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

لديها فولوwing بناء الجملة.

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

هنا،

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

PHP mysqlوظيفة i_num_rows

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

لديها فولوwing بناء الجملة.

<?php
mysqli_num_rows($result);
?>

هنا،

  • "mysqli_num_rows(...)" هي وظيفة عدد الصفوف
  • "النتيجة $" هي mysqlمجموعة نتائج i_query

PHP mysqlوظيفة i_fetch_array

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

لديها فولوwing بناء الجملة.

<?php
mysqli_fetch_array($result);
?>

هنا،

  • "mysqli_fetch_array(...)" هي وظيفة جلب صفائف الصف
  • "$result" هي النتيجة التي يتم إرجاعها بواسطة الملف mysqlوظيفة i_query.

PHP mysqlوظيفة i_Close

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

لديها فولوwing بناء الجملة.

<?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 بنجاح إلى قائمة جهات الاتصال الخاصة بك" ارجع إلى مثال استعلام التحديد واسترجاع جهات الاتصال الخاصة بك مرة أخرى.

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

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

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

<?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 = شركة تنمية نفط عمان جديدة("mysql..." يقوم بإنشاء مثيل لكائن PDO ويمرر برامج تشغيل قاعدة البيانات وأسماء الخادم وقاعدة البيانات ومعرف المستخدم وكلمة المرور.
  • يقوم "$pdo->setAtt..." بتعيين وضع خطأ PDO وسمات وضع الاستثناء
  • يقوم "$pdo->exec('SET NA..." بتعيين تنسيق الترميز

ODBC ODBC هو اختصار لاتصال قاعدة البيانات المفتوحة. لديها فولوwing بناء الجملة الأساسي.

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