Hướng dẫn how does php interact with databases? - php tương tác với cơ sở dữ liệu như thế nào?


Php 5 trở lên có thể làm việc với cơ sở dữ liệu MySQL bằng cách sử dụng:

  • Mở rộng mysqli ("i" là viết tắt của cải tiến) (the "i" stands for improved)
  • PDO (Đối tượng dữ liệu PHP)

Các phiên bản trước của PHP đã sử dụng tiện ích mở rộng MySQL. Tuy nhiên, phần mở rộng này đã bị phản đối trong năm 2012.


Tôi nên sử dụng mysqli hay pdo?

Nếu bạn cần một câu trả lời ngắn, đó sẽ là "bất cứ điều gì bạn thích".

Cả MySQLI và PDO đều có lợi thế của họ:

PDO sẽ hoạt động trên 12 hệ thống cơ sở dữ liệu khác nhau, trong khi MySQLI sẽ chỉ hoạt động với cơ sở dữ liệu MySQL.

Vì vậy, nếu bạn phải chuyển đổi dự án của mình để sử dụng cơ sở dữ liệu khác, PDO sẽ làm cho quá trình trở nên dễ dàng. Bạn chỉ phải thay đổi chuỗi kết nối và một vài truy vấn. Với MySQLI, bạn sẽ cần viết lại toàn bộ mã - các truy vấn bao gồm.

Cả hai đều theo định hướng đối tượng, nhưng MySQLI cũng cung cấp API thủ tục.

Cả hai hỗ trợ các tuyên bố đã chuẩn bị. Các tuyên bố được chuẩn bị bảo vệ khỏi SQL Injection và rất quan trọng đối với bảo mật ứng dụng web.


Ví dụ MySQL trong cả cú pháp MySQLI và PDO

Trong đó, và trong các chương sau, chúng tôi đã chứng minh ba cách làm việc với PHP và MySQL:

  • Mysqli (hướng đối tượng)
  • Mysqli (thủ tục)
  • PDO

Cài đặt MySQLI

Đối với Linux và Windows: Phần mở rộng MySQLI được tự động cài đặt trong hầu hết các trường hợp, khi gói HYSQL PHP5 được cài đặt.

Để biết chi tiết cài đặt, hãy truy cập: http://php.net/manual/en/mysqli.installation.php


Cài đặt PDO

Để biết chi tiết cài đặt, hãy truy cập: http://php.net/manual/en/pdo.installation.php



Mở kết nối với MySQL

Trước khi chúng tôi có thể truy cập dữ liệu trong cơ sở dữ liệu MySQL, chúng tôi cần có thể kết nối với máy chủ:

Ví dụ (hướng đối tượng mysqli) theo định hướng đối tượng)

$servername = "localhost";
$username = "username";
$password = "password";

// Tạo kết nối $ Conn = new mysqli ($ servername, $ username, $ password);
$conn = new mysqli($servername, $username, $password);

// kiểm tra kết nối nếu ($ Conn-> Connect_error) & nbsp; {& nbsp; & nbsp; die ("kết nối không thành công:". $ Conn-> Connect_error);} echo "kết nối thành công"; ?>
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>


Lưu ý trên ví dụ hướng đối tượng ở trên:

$ Connect_error đã bị hỏng cho đến khi Php 5.2.9 và 5.3.0. Nếu bạn cần đảm bảo khả năng tương thích với các phiên bản PHP trước 5.2.9 và 5.3.0, hãy sử dụng mã sau thay thế:

// Kiểm tra Connectionif (mysqli_connect_error ()) {& nbsp; & nbsp; die ("Kết nối cơ sở dữ liệu không thành công:".
if (mysqli_connect_error()) {
  die("Database connection failed: " . mysqli_connect_error());
}

Ví dụ (thủ tục MySQLI)

$servername = "localhost";
$username = "username";
$password = "password";

// Tạo kết nối $ Conn = new mysqli ($ servername, $ username, $ password);
$conn = mysqli_connect($servername, $username, $password);

// kiểm tra kết nối nếu ($ Conn-> Connect_error) & nbsp; {& nbsp; & nbsp; die ("kết nối không thành công:". $ Conn-> Connect_error);} echo "kết nối thành công"; ?>
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>


Lưu ý trên ví dụ hướng đối tượng ở trên:

$servername = "localhost";
$username = "username";
$password = "password";

// Tạo kết nối $ Conn = new mysqli ($ servername, $ username, $ password);
  $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "Connected successfully";
} catch(PDOException $e) {
  echo "Connection failed: " . $e->getMessage();
}
?>


// kiểm tra kết nối nếu ($ Conn-> Connect_error) & nbsp; {& nbsp; & nbsp; die ("kết nối không thành công:". $ Conn-> Connect_error);} echo "kết nối thành công"; ?> In the PDO example above we have also specified a database (myDB). PDO require a valid database to connect to. If no database is specified, an exception is thrown.

Lưu ý trên ví dụ hướng đối tượng ở trên: A great benefit of PDO is that it has an exception class to handle any problems that may occur in our database queries. If an exception is thrown within the try{ } block, the script stops executing and flows directly to the first catch(){ } block.


$ Connect_error đã bị hỏng cho đến khi Php 5.2.9 và 5.3.0. Nếu bạn cần đảm bảo khả năng tương thích với các phiên bản PHP trước 5.2.9 và 5.3.0, hãy sử dụng mã sau thay thế:

// Kiểm tra Connectionif (mysqli_connect_error ()) {& nbsp; & nbsp; die ("Kết nối cơ sở dữ liệu không thành công:".

Ví dụ (thủ tục MySQLI)

// Tạo kết nối $ Conn = mysqli_connect ($ servername, $ username, $ password);


// kiểm tra kết nối if (! $ Conn) & nbsp; {& nbsp; chết ("kết nối không thành công:". mysqli_connect_error ());} echo "kết nối thành công"; ?>

Ví dụ (PDO)





Với PHP, bạn có thể kết nối và thao tác cơ sở dữ liệu.

MySQL là hệ thống cơ sở dữ liệu phổ biến nhất được sử dụng với PHP.


MySQL là gì?

  • MySQL là một hệ thống cơ sở dữ liệu được sử dụng trên web
  • MySQL là một hệ thống cơ sở dữ liệu chạy trên máy chủ
  • MySQL là lý tưởng cho cả các ứng dụng nhỏ và lớn
  • MySQL rất nhanh, đáng tin cậy và dễ sử dụng
  • MySQL sử dụng SQL tiêu chuẩn
  • MySQL biên dịch trên một số nền tảng
  • MySQL miễn phí tải xuống và sử dụng
  • MySQL được phát triển, phân phối và được hỗ trợ bởi Oracle Corporation
  • MySQL được đặt theo tên của người đồng sáng lập Monty Widenius Con gái: My

Dữ liệu trong cơ sở dữ liệu MySQL được lưu trữ trong các bảng. Một bảng là một tập hợp các dữ liệu liên quan và nó bao gồm các cột và hàng.

Cơ sở dữ liệu rất hữu ích để lưu trữ thông tin một cách phân loại. Một công ty có thể có cơ sở dữ liệu với các bảng sau:

  • Người lao động
  • Các sản phẩm
  • Khách hàng
  • Đơn đặt hàng

Hệ thống cơ sở dữ liệu PHP + MySQL

  • PHP kết hợp với MySQL là đa nền tảng (bạn có thể phát triển trong Windows và phục vụ trên nền tảng UNIX)

Truy vấn cơ sở dữ liệu

Truy vấn là một câu hỏi hoặc một yêu cầu.

Chúng tôi có thể truy vấn một cơ sở dữ liệu để biết thông tin cụ thể và có một bản ghi được trả về.

Nhìn vào truy vấn sau (sử dụng SQL tiêu chuẩn):

Chọn tên cuối cùng từ nhân viên

Truy vấn ở trên chọn tất cả dữ liệu trong cột "Tên cuối" từ bảng "Nhân viên".

Để tìm hiểu thêm về SQL, vui lòng truy cập hướng dẫn SQL của chúng tôi.


Tải xuống cơ sở dữ liệu MySQL

Nếu bạn không có máy chủ PHP có cơ sở dữ liệu MySQL, bạn có thể tải xuống miễn phí tại đây: http://www.mysql.com


Sự thật về cơ sở dữ liệu MySQL

MySQL là hệ thống cơ sở dữ liệu tiêu chuẩn de-facto cho các trang web có khối lượng lớn cả dữ liệu và người dùng cuối (như Facebook, Twitter và Wikipedia).

Một điều tuyệt vời khác về MySQL là nó có thể được thu nhỏ xuống để hỗ trợ các ứng dụng cơ sở dữ liệu nhúng.

Nhìn vào http://www.mysql.com/customers/ để biết tổng quan về các công ty sử dụng MySQL.



Làm thế nào chúng ta có thể tương tác với cơ sở dữ liệu trong PHP?

Trong PHP, chúng ta có thể kết nối với cơ sở dữ liệu bằng máy chủ XAMPP Web bằng cách sử dụng đường dẫn sau ...
Bắt đầu XAMPP Server bằng cách khởi động Apache và MySQL ..
Viết tập lệnh PHP để kết nối với XAMPP ..
Chạy nó trong trình duyệt cục bộ ..
Cơ sở dữ liệu được tạo thành công dựa trên mã PHP ..

Php được sử dụng như thế nào trong cơ sở dữ liệu?

Với PHP, bạn có thể kết nối và thao tác cơ sở dữ liệu.MySQL là hệ thống cơ sở dữ liệu phổ biến nhất được sử dụng với PHP.connect to and manipulate databases. MySQL is the most popular database system used with PHP.

Php tương tác với SQL như thế nào?

Ngôn ngữ PHP cung cấp các chức năng làm cho việc giao tiếp với MySQL cực kỳ đơn giản.Bạn sử dụng các chức năng PHP để gửi các truy vấn SQL đến cơ sở dữ liệu.Bạn không cần biết chi tiết giao tiếp với MySQL;PHP xử lý các chi tiết.Bạn chỉ cần biết các truy vấn SQL và cách sử dụng các hàm PHP.You use PHP functions to send SQL queries to the database. You don't need to know the details of communicating with MySQL; PHP handles the details. You only need to know the SQL queries and how to use the PHP functions.