PHP MySQLCác hàm: mysqli_query, mysqli_connect, mysqli_fetch_array

PHP có một bộ sưu tập phong phú các hàm dựng sẵn để thao tác MySQL cơ sở dữ liệu.

Hàm mysqli_connect của PHP

Hàm kết nối mysql của PHP được sử dụng để kết nối với MySQL máy chủ cơ sở dữ liệu.

Cú pháp của nó như sau.

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

ĐÂY,

  • “$db_handle” là biến tài nguyên kết nối cơ sở dữ liệu.
  • “mysqli_connect(…)” là chức năng kết nối cơ sở dữ liệu php
  • “$server_name” là tên hoặc địa chỉ IP của máy chủ lưu trữ MySQL máy chủ.
  • “$user_name” là tên người dùng hợp lệ trong MySQL máy chủ.
  • “$password” là mật khẩu hợp lệ được liên kết với tên người dùng trong MySQL máy chủ.

Hàm mysqli_select_db của PHP

Hàm mysqli_select_db được sử dụng để chọn cơ sở dữ liệu.

Cú pháp của nó như sau.

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

ĐÂY,

  • “mysqli_select_db(…)” là hàm chọn cơ sở dữ liệu trả về đúng hoặc sai
  • “$database_name” là tên của cơ sở dữ liệu
  • “$link_identifier” là tùy chọn, nó được sử dụng để chuyển vào liên kết kết nối máy chủ

Hàm mysqli_query của PHP

Hàm mysqli_query được sử dụng để thực thi SQL truy vấn.

Hàm này có thể được sử dụng để thực hiện các loại truy vấn sau;

  • Chèn
  • Chọn
  • Cập nhật
  • xóa

Cú pháp của nó như sau.

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

ĐÂY,

  • “mysqli_query(…)” là hàm thực thi các truy vấn SQL.
  • “$query” là truy vấn SQL được thực thi
  • “$link_identifier” là tùy chọn, nó có thể được sử dụng để chuyển vào liên kết kết nối máy chủ

Hàm mysqli_num_rows của PHP

Hàm mysqli_num_rows được sử dụng để lấy số hàng được trả về từ một truy vấn chọn.

Cú pháp của nó như sau.

<?php
mysqli_num_rows($result);
?>

ĐÂY,

  • “mysqli_num_rows(…)” là hàm đếm hàng
  • “$result” là tập kết quả mysqli_query

Hàm mysqli_fetch_array của PHP

Hàm mysqli_fetch_array được sử dụng để tìm nạp các mảng hàng từ tập kết quả truy vấn.

Cú pháp của nó như sau.

<?php
mysqli_fetch_array($result);
?>

ĐÂY,

  • “mysqli_fetch_array(…)” là hàm tìm nạp mảng hàng
  • “$result” là kết quả được trả về bởi hàm mysqli_query.

Hàm mysqli_close của PHP

Hàm mysqli_close được sử dụng để đóng kết nối cơ sở dữ liệu đang mở.

Cú pháp của nó như sau.

<?php
mysqli_close($db_handle);
?>

ĐÂY,

  • “mysqli_close(…)” là hàm PHP
  • “$link_identifier” là tùy chọn, nó được sử dụng để truyền tài nguyên kết nối máy chủ

Hãy xem xét các ví dụ thực tế tận dụng các chức năng này.

Tạo MySQL cơ sở dữ liệu Hướng dẫn này giả định kiến ​​thức về MySQL và SQL, nếu những thuật ngữ này xa lạ với bạn, hãy tham khảo MySQL và hướng dẫn SQL.

Chúng tôi sẽ tạo một cơ sở dữ liệu đơn giản có tên my_personal_contacts chỉ với một bảng.

Dưới đây là các bước để tạo cơ sở dữ liệu và bảng.

  • Kết nối với MySQL bằng cách sử dụng công cụ truy cập yêu thích của bạn như MySQL workbench, phpMyAdmin, v.v.
  • Tạo cơ sở dữ liệu có tên my_person_contacts
  • Thực thi đoạn script hiển thị bên dưới để tạo bảng và chèn một số dữ liệu giả
<?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');
?>

Bây giờ chúng ta đã thiết lập một cơ sở dữ liệu mà chúng ta sẽ thao tác từ PHP.

Đọc các bản ghi từ cơ sở dữ liệu Bây giờ chúng ta sẽ tạo một chương trình in các bản ghi từ cơ sở dữ liệu.

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

Thực thi đoạn mã trên trả về kết quả như trong sơ đồ bên dưới

PHP: MySQL Chức năng

Chèn bản ghi mới

Bây giờ chúng ta hãy xem một ví dụ thêm một bản ghi mới vào bảng của chúng ta. đoạn mã dưới đây cho thấy việc thực hiện.

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

Thực thi các kết quả đầu ra mã ở trên “Poseidon đã được thêm thành công vào danh sách liên hệ của bạn” quay lại ví dụ truy vấn chọn và truy xuất lại danh bạ của bạn.

Xem liệu Poseidon đã được thêm vào danh sách của bạn chưa.

Cập nhật bản ghi Bây giờ chúng ta hãy xem một ví dụ cập nhật bản ghi trong cơ sở dữ liệu.

Giả sử Poseidon đã thay đổi số điện thoại liên lạc và địa chỉ email của mình.

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

Xóa hồ sơ

Bây giờ chúng ta hãy xem một ví dụ xóa bản ghi khỏi cơ sở dữ liệu. Giả sử rằng Venus có lệnh cấm đối với chúng ta và chúng ta phải xóa thông tin liên hệ của cô ấy khỏi cơ sở dữ liệu.

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

Đối tượng truy cập dữ liệu PHP PDO

PDO là một lớp cho phép chúng ta thao tác với các công cụ cơ sở dữ liệu khác nhau như MySQL, PostGres, MS SQL Server, v.v.

Mã bên dưới hiển thị phương thức truy cập cơ sở dữ liệu bằng đối tượng PDO.

Lưu ý: đoạn mã bên dưới giả định kiến ​​thức về ngôn ngữ SQL, mảng, xử lý ngoại lệ và vòng lặp 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(); 
} 
?>

ĐÂY,

  • “try{…catch…}” là khối xử lý ngoại lệ
  • “$pdo = new PDO(“mysql…” tạo một phiên bản của đối tượng PDO và chuyển trình điều khiển cơ sở dữ liệu, tên máy chủ và cơ sở dữ liệu, id người dùng và mật khẩu.
  • “$pdo->setAtt…” đặt thuộc tính chế độ lỗi PDO và chế độ ngoại lệ
  • “$pdo->exec('SET NA…” đặt định dạng mã hóa

ODBC ODBC là từ viết tắt của Open Database Connectivity. Nó có cú pháp cơ bản sau.

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

ĐÂY,

  • “odbc_connect” là hàm dựng sẵn trong PHP
  • “$dsn” là tên nguồn dữ liệu ODBC.
  • “$user_name” là tùy chọn, nó được sử dụng cho tên người dùng ODBC
  • “$password” là tùy chọn, nó được sử dụng cho mật khẩu ODBC

Ví dụ được sử dụng giả định bạn;

  • Đang sử dụng Windows OS
  • Bạn đã tạo một liên kết ODBC tới gió bắc Microsoft Truy cập cơ sở dữ liệu có tên Northwind

Dưới đây là mã triển khai để truy cập dữ liệu 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); 
?>

Tổng kết

  • MySQL là một công cụ quản lý cơ sở dữ liệu quan hệ mã nguồn mở có sẵn trên hầu hết các máy chủ lưu trữ web
  • PHP có một bộ sưu tập phong phú các hàm dựng sẵn giúp đơn giản hóa việc làm việc với MySQL
  • PDO là từ viết tắt của Đối tượng dữ liệu PHP; nó được sử dụng để kết nối với các công cụ cơ sở dữ liệu khác nhau bằng cùng một đối tượng
  • PHP sử dụng hàm odbc_connect để thao tác cơ sở dữ liệu thông qua ODBC