Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách tạo CRUD đơn giản bằng PHP và MySQL một cách dễ dàng

Trong phần trước của loạt bài về MySQL này, tôi đã cung cấp một cái nhìn tổng quan về thao tác bảng trong MySQL. Trong phần này của loạt bài hướng dẫn, tôi sẽ dạy bạn cách tạo CRUD trong PHP và MySQL bằng cách thực thi insert , cập nhật xóa truy vấn. Các truy vấn này có thể được thực hiện theo những cách sau.

Thực thi Truy vấn Đơn

Nó thực hiện một truy vấn duy nhất tại một thời điểm. Hãy bắt đầu bằng cách chèn dữ liệu vào cơ sở dữ liệu mà chúng tôi đã tạo trước đây trên máy chủ lưu trữ PHP MySQL của chúng tôi. Tạo một tệp php mới trong thư mục “ thực hành ”Mà chúng tôi đã tạo trước đó và đặt tên là crud.php. CRUD là chữ viết tắt của các truy vấn Tạo, Đọc, Cập nhật và Xóa. Bây giờ trong tệp mới, hãy thêm dòng này ở đầu request_once ‘db_connection.php’ và tạo chức năng mới này:

require_once 'db_connection.php';

function SingleQuery($queri)
{
	$conn = OpenCon();
	
	
	if($conn->query($queri) === TRUE)
	{
		CloseCon($conn);
		return true;
	}
	else
	{
		return $conn->error;
	}

}

Hàm nhận một tham số duy nhất làm truy vấn yêu cầu của bạn và thực thi nó. Bây giờ, tạo một tệp mới, index2.php trong cùng một thư mục và ở trên cùng, thêm dòng này request_once ‘crud.php’. Bây giờ, hãy thêm những dòng này vào index2.php của bạn:

include 'crud.php';

$sql = "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('w','w','[email protected]','First Insert Using Single Query')";

$result = SingleQuery($sql);

if($result === true)
{
	echo 'success';
	
}
else
{
	echo $result;
}

Sau đó, mở trình duyệt của bạn và tìm đến localhost / practice / index2.php và bạn sẽ thấy thành công nếu nhập đúng truy vấn.

Thực thi nhiều truy vấn

Sử dụng phương pháp này, bạn có thể thực thi nhiều hơn một insert , chọn hoặc cập nhật truy vấn. Hãy bắt đầu bằng cách viết một hàm cho Multi Insert hoặc Cập nhật truy vấn. Viết hàm mới này trong tệp crud.php của bạn

function MultiQuery($quries)
{
	$conn = OpenCon();
	
	
	if($conn->multi_query($quries) === true)
	{
		CloseCon($conn);
		return true;
	}
	else
	{
		return $conn->error;
	}
}

Hàm nhận một tham số duy nhất làm truy vấn yêu cầu của bạn và thực thi nó. Bây giờ, hãy gọi hàm này trong index2.php của bạn:

include 'crud.php';

$sql = "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('a','a','[email protected]','First Insert Using Multiple Queries');";
$sql .= "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('b','b','[email protected]','First Insert Using Multiple Queries');";
$sql .= "INSERT INTO myguests(firstname,lastname,email,subject) VALUES ('c','c','[email protected]','First Insert Using Multiple Queries');";

$result = MultiQuery($sql);

if($result === true)
{
 echo 'success';
 
}
else
{
 echo $result;
}

Bây giờ, hãy mở trình duyệt của bạn và tìm đến localhost / practice / index2.php và bạn sẽ thấy thành công nếu nhập đúng truy vấn.


Không gì dễ dàng bằng việc triển khai ứng dụng PHP trên đám mây

Với Cloudways, bạn có thể thiết lập và chạy các ứng dụng PHP của mình trên các máy chủ đám mây được quản lý chỉ trong vài phút.

Bắt đầu miễn phí


CRUD trong PHP và MySQL với các câu lệnh chuẩn bị sẵn

Các câu lệnh chuẩn bị trước được sử dụng để thực hiện cùng một truy vấn nhiều lần với hiệu quả cao. Bây giờ hãy viết hàm mới này trong tệp crud.php của bạn:

function PreQuery($fname,$lname,$email,$subj)
{
	$conn = OpenCon();
	$query = $conn->prepare("INSERT INTO myguests(firstname, lastname, email, subject) VALUES (?,?,?,?)");
	$query->bind_param("ssss", $fname,$lname,$email,$subj);
	
	if($query->execute())
	{
		CloseCon($conn);
		return true;
	}
	else
	{
		return $conn->error;
	}
	

}

Chúng tôi sẽ lựa chọn dữ liệu bằng cách sử dụng các câu lệnh đã chuẩn bị. Hãy xem cách hoạt động của báo cáo đã chuẩn bị:

  1. Đầu tiên, bạn chuẩn bị tuyên bố của mình như CHÈN VÀO myguests (tên, họ, email, chủ đề) GIÁ TRỊ (?,?,?,?). Chúng tôi rời khỏi ? nơi chúng tôi muốn chèn các giá trị.
  2. Thứ hai, chúng tôi sẽ ràng buộc các giá trị đó. Tham số đầu tiên nhận các kiểu dữ liệu của giá trị và sau đó là các giá trị. Đối số kiểu dữ liệu có thể có bốn kiểu.
    1. i - số nguyên
    2. s - chuỗi
    3. d - gấp đôi
    4. b - đốm màu
  3. Chúng tôi sẽ thực hiện nó.

Hàm nhận bốn tham số làm giá trị yêu cầu của bạn và thực thi nó. Bây giờ, hãy gọi hàm này trong index2.php của bạn:

include 'crud.php';

$firstn = "Ahmed";
$lastn = "Khan";
$email = "[email protected]";
$subject = "Inserting Data using prepared Query";
$result = PreQuery($firstn,$lastn,$email,$subject);

if($result === true)
{
	echo 'success';
	
}
else
{
	echo $result;
}

Bây giờ, hãy mở trình duyệt của bạn và tìm đến localhost / practice / index2.php và bạn sẽ thành công nếu bạn nhập đúng truy vấn.

Chọn Thực thi Truy vấn

Bây giờ, hãy để chúng tôi chọn dữ liệu từ cơ sở dữ liệu MySQL của chúng tôi bằng cách sử dụng thực thi truy vấn duy nhất. Viết một hàm mới trong crud.php của bạn được viết bên dưới:

function selectdata($sql)
{
	$conn = OpenCon();
	
	$result = $conn->query($sql);
	if($result)
	{
		if($result->num_rows > 0)
		{
			return $result;
		}
		else
		{
			return "zero";
		}
	}
	else
	{
		return $result->error;
	}
}

Trước tiên, hàm kiểm tra xem truy vấn có được thực thi thành công hay không. Nếu không, nó sẽ gửi một lỗi. Thứ hai, nó kiểm tra xem số hàng có lớn hơn 0 hay không. Nếu vậy, nó sẽ gửi "Không tìm thấy kết quả nào". Bây giờ, hãy gọi hàm này trong index2.php, viết đoạn mã sau:

<table>
 <tr>
 <td> Name</td>
 <td> Email</td>
 <td> Message</td>
 </tr>
<?php
include 'crud.php';

$sql = "SELECT * FROM `myguests`";

$result = selectdata($sql);

if($result != "zero")
{
 
 while($row = $result->fetch_assoc())
 {
 echo "<tr>";
 echo "<td>" . $row['firstname'].' '.$row['lastname'] . "</td>";
 echo "<td>" . $row['email']. "</td>"; 
 echo "<td>" . $row['subject']. "</td>"; 
 echo "</tr>";

 }
 
 
}
else
{
 echo $result;
}
?>
 </table>

Sau đó, hãy mở trình duyệt của bạn và tìm đến localhost / Practice / index2.php và bạn sẽ tìm thấy tất cả kho lưu trữ dữ liệu trong cơ sở dữ liệu trong trang index2.php của mình.

Cập nhật Truy vấn Sử dụng Câu lệnh Chuẩn bị

Hãy để chúng tôi viết một hàm mới trong tệp crud.php của bạn để thực thi câu lệnh cập nhật:

function UpdateQuery($column,$value,$id)
{
$conn = OpenCon();
$query = $conn->prepare("UPDATE myguests SET $column = ? WHERE id = ?");
$query->bind_param("si",$value,$id);

if($query->execute())
{
CloseCon($conn);
return true;
}
else
{
return $conn->error;
}
}

Tham số cập nhật có ba tham số. Một là tên cột cần được cập nhật, thứ hai là giá trị sẽ được thay thế bằng giá trị trước đó và thứ ba là ID của hàng mà nó sẽ được thay đổi. Bây giờ, hãy thực thi hàm này trong index2.php:

include 'crud.php';


$result = UpdateQuery("firstname","David",1);

if($result === true)
{
	echo 'success';
	
}
else
{
	echo $result;
}

Khi bạn làm xong, hãy mở trình duyệt của bạn và tìm đến localhost / practice / index2.php và bạn sẽ thành công nếu không có lỗi.

Xóa truy vấn bằng câu lệnh chuẩn bị sẵn

Hãy để chúng tôi viết một hàm mới trong tệp crud.php của bạn để thực hiện câu lệnh xóa:

function DeleteQuery($id)
{
$conn = OpenCon();
	$query = $conn->prepare("DELETE FROM myguests WHERE id = ?");
	$query->bind_param("i",$id);
	//var_dump($query);

	
	if($query->execute())
	{
		CloseCon($conn);
		return true;
	}
	else
	{
		return $conn->error;
	}
}

Tham số xóa nhận một tham số sẽ là ID của hàng cần xóa khỏi bảng. Bây giờ, hãy thực thi hàm này trong index2.php:

include 'crud.php';

$result = DeleteQuery(1);

if($result === true)
{
	echo 'success';
	
}
else
{
	echo $result;
}

Sau đó, mở trình duyệt của bạn và tìm đến localhost / practice / index2.php và bạn sẽ thấy thành công nếu không có lỗi.

Kết luận

Trong hướng dẫn này, chúng ta đã học cách thực thi CRUD trong PHP và MySQL bằng ba cách khác nhau. Trong phần tiếp theo của loạt bài về MySQL này, tôi sẽ thảo luận về các mệnh đề tìm nạp dữ liệu MySQL. Đây là phần giới thiệu ngắn và danh sách các chủ đề chính trong loạt bài MySQL này.

Nếu bạn có bất kỳ câu hỏi nào về những gì chúng tôi đã học được trong hướng dẫn này, vui lòng bình luận bên dưới! Chúc may mắn! 🙂


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql -> chèn vào tbl (chọn từ bảng khác) và một số giá trị mặc định

  2. Tái tạo một máy chủ MySQL Master bị sự cố trong thiết lập sao chép bán đồng bộ

  3. Thiết kế bảng thực thể-thuộc tính-giá trị

  4. Lỗi khi cài đặt mysql2:Không thể tạo tiện ích mở rộng gốc đá quý

  5. Sự khác biệt giữa VARCHAR và TEXT trong MySQL