MySQL là một hệ quản trị cơ sở dữ liệu rất phổ biến có thể cung cấp năng lượng cho các dự án ở mọi quy mô. Khả năng xử lý khối lượng dữ liệu khổng lồ mà không phải đổ mồ hôi là một trong những điểm bán hàng lớn nhất của nó. Kết nối MySQL với mã PHP, bạn có thể sử dụng một trong ba phương pháp.
Có ba loại phương thức trong PHP để kết nối cơ sở dữ liệu MySQL thông qua phần phụ trợ:
- MySQL
- MySQLi
- PDO
mysql () hiện đã lỗi thời vì các vấn đề bảo mật như SQL injection, v.v., nhưng hai cái còn lại đang được sử dụng tích cực.
MySQLi
MySQLi là một API được sử dụng làm hàm kết nối để liên kết phần phụ trợ của ứng dụng PHP với cơ sở dữ liệu MySQL. Nó hoạt động giống như phiên bản trước, nhưng an toàn hơn và nhanh hơn, đồng thời cung cấp một bộ chức năng và tiện ích mở rộng tốt hơn. MySQLi được giới thiệu với PHP 5.0.0 và các trình điều khiển được cài đặt trong 5.3.0. API được thiết kế để hỗ trợ MySQL từ phiên bản 4.1.13 đến những phiên bản mới hơn.
PDO
Phần mở rộng Đối tượng Dữ liệu PHP (PDO) là một Lớp trừu tượng cơ sở dữ liệu. Nó giống như một giao diện để phần phụ trợ tương tác với cơ sở dữ liệu MySQL và thực hiện các thay đổi mà không thực hiện bất kỳ thay đổi nào trong mã PHP. Nó cũng cho phép bạn tự do làm việc với nhiều cơ sở dữ liệu. Ưu điểm chính của việc sử dụng PDO là mã của bạn luôn đơn giản và dễ di chuyển.
Trong bài viết này, tôi sẽ thảo luận về cách kết nối Cơ sở dữ liệu MySQL trên các máy chủ khác nhau và tôi cũng sẽ cung cấp cho bạn tổng quan về việc kết nối Cơ sở dữ liệu bằng PDO.
- Kết nối MySQL bằng Máy chủ Localhost
- Kết nối MySQL bằng Cloudways Server
- Kết nối MySQL bằng PDO
- Kết nối MySQL bằng MySQL Từ xa
Tải xuống MYSQL Cheat Sheet ngay bây giờ
Chúng tôi sẽ gửi một liên kết tải xuống đến hộp thư đến của bạn.
Cảm ơn bạn
Sách điện tử của bạn đã sẵn sàng đến Hộp thư đến của bạn.
Tạo Cơ sở dữ liệu MySQL tại Máy chủ cục bộ
Trước khi bắt đầu xây dựng kết nối PHP với cơ sở dữ liệu MySQL, bạn cần biết PHPMyAdmin là gì. Đó là một bảng điều khiển từ đó bạn có thể quản lý cơ sở dữ liệu mà bạn đã tạo. Mở trình duyệt của bạn và truy cập localhost / PHPMyAdmin hoặc nhấp vào “Quản trị” trong giao diện người dùng XAMPP.
Khi bạn cài đặt XAMPP lần đầu, nó chỉ tạo tên người dùng để truy cập, bây giờ bạn phải tự thêm mật khẩu cho nó. Đối với điều này, bạn phải truy cập Tài khoản người dùng nơi người dùng giống như người dùng được hiển thị trong hình này:
Bây giờ, hãy nhấp vào Chỉnh sửa đặc quyền và đi tới Thay đổi mật khẩu quản trị, nhập mật khẩu của bạn vào đó và lưu nó. Hãy nhớ mật khẩu này vì nó sẽ được sử dụng để kết nối với Cơ sở dữ liệu của bạn.
Lưu ý:Không cần thiết phải thay đổi mật khẩu để truy cập cơ sở dữ liệu trên localhost. Đó là một thực tiễn tốt và đó là lý do tại sao chúng tôi sử dụng mật khẩu.
Tạo cơ sở dữ liệu
Bây giờ quay lại trang chủ của PHPMyAdmin. Nhấp vào Mới để tạo cơ sở dữ liệu mới.
Trong cửa sổ mới, đặt tên cho cơ sở dữ liệu của bạn theo nhu cầu của bạn, tôi đang đặt tên nó là “ thực hành ”. Bây giờ chọn Collation là utf8_general_ci, vì chúng tôi đang sử dụng nó cho mục đích học tập và nó sẽ xử lý tất cả các truy vấn và dữ liệu của chúng tôi sẽ được đề cập trong loạt bài hướng dẫn này. Bây giờ hãy nhấp vào Tạo và cơ sở dữ liệu của bạn sẽ được tạo.
Cơ sở dữ liệu mới được tạo bây giờ sẽ trống vì không có bảng nào trong đó. Tôi sẽ đề cập đến vấn đề đó trong loạt bài sắp tới, nơi chúng ta sẽ học cách tạo bảng và chèn dữ liệu vào đó. Trong hướng dẫn này, chúng tôi sẽ kết nối cơ sở dữ liệu này với localhost bằng PHP
Tạo một Thư mục trong htdocs
Bây giờ, định vị thư mục mà bạn đã cài đặt XAMPP và mở thư mục htdocs (thường là c:/ xampp). Tạo một thư mục mới bên trong c:/ xampp / htdocs / và đặt tên là "practice", chúng tôi sẽ đặt các tệp web trong thư mục này. Tại sao chúng tôi tạo một thư mục trong htdocs? XAMPP sử dụng các thư mục trong htdocs để thực thi và chạy các trang web PHP của bạn.
Lưu ý:Nếu bạn đang sử dụng WAMP, hãy thêm thư mục thực hành của bạn trong thư mục c:/ wamp / www.
Tạo tệp kết nối cơ sở dữ liệu trong PHP
Tạo một tệp PHP mới và đặt tên là db_connnection.php và lưu nó. Tại sao tôi tạo một tệp kết nối cơ sở dữ liệu riêng biệt? Bởi vì nếu bạn đã tạo nhiều tệp trong đó bạn muốn chèn dữ liệu hoặc chọn dữ liệu từ cơ sở dữ liệu, bạn không cần phải viết mã cho kết nối cơ sở dữ liệu mọi lúc.
<?php function OpenCon() { $dbhost = "localhost"; $dbuser = "root"; $dbpass = "1234"; $db = "example"; $conn = new mysqli($dbhost, $dbuser, $dbpass,$db) or die("Connect failed: %s\n". $conn -> error); return $conn; } function CloseCon($conn) { $conn -> close(); } ?>
Đây là giải thích về biến mà chúng tôi đã sử dụng trong tệp db_connection của mình:
- $ dbhost sẽ là máy chủ lưu trữ nơi máy chủ của bạn đang chạy, máy chủ này thường là máy chủ cục bộ.
- $ dbuser sẽ là tên người dùng, tức là root và $ dbpass sẽ là mật khẩu mà bạn đã sử dụng để truy cập PHPMyAdmin của mình.
- $ dbname sẽ là tên cơ sở dữ liệu của bạn mà chúng tôi đã tạo trong hướng dẫn này.
Bạn chỉ cần bao gồm nó bằng cách sử dụng hàm tùy chỉnh của PHP bao gồm (bao gồm ‘connection.php’) trên đầu mã của bạn và gọi hàm của nó và sử dụng nó. Nó cũng hữu ích khi bạn đang di chuyển vị trí dự án của mình từ PC này sang PC khác và bạn phải thay đổi các giá trị trên một tệp duy nhất và tất cả các thay đổi sẽ tự động được áp dụng cho tất cả các tệp khác.
Tạo tệp PHP mới để kiểm tra kết nối cơ sở dữ liệu của bạn
Tạo một tệp PHP mới để kết nối với cơ sở dữ liệu của bạn. Đặt tên là index.php và thêm mã này vào tệp này.
<?php include 'db_connection.php'; $conn = OpenCon(); echo "Connected Successfully"; CloseCon($conn); ?>
Chạy nó!
Bây giờ, hãy mở trình duyệt của bạn và truy cập vào localhost / practice / index.php và bạn sẽ thấy màn hình này:
Thông báo xác nhận
Xin chúc mừng! Bạn đã kết nối thành công cơ sở dữ liệu của mình với máy chủ cục bộ của mình! Nếu bạn không thể nhìn thấy màn hình này, hãy kiểm tra xem bạn đã làm mọi thứ ngay trong tệp db_connection.php của mình chưa.
Tạo Cơ sở dữ liệu MySQL tại Máy chủ Cloudways
Đối với mục đích của hướng dẫn này, tôi giả sử rằng bạn đã cài đặt một ứng dụng PHP trên một máy chủ web. Thiết lập của tôi là:
- PHP 7.3
- MySQL
Tôi quyết định lưu trữ ứng dụng PHP của mình trên các máy chủ được quản lý của Cloudways vì tôi nhận được một kho lưu trữ được tối ưu hóa cao và không có sự phức tạp trong việc quản lý máy chủ. Bạn có thể dùng thử Cloudways miễn phí bằng cách đăng ký tài khoản, sau đó làm theo GIF đơn giản này để thiết lập máy chủ và ứng dụng PHP. Kiểm tra các gói dịch vụ lưu trữ của Cloudways cho AWS, Google Compute Engine, Vultr, Linode và Digital Ocean để tìm ra gói dịch vụ phù hợp với bạn.
Sau khi khởi chạy thành công Ứng dụng PHP trên Cloudways, hãy vào tab ứng dụng và kiểm tra thông tin chi tiết của cơ sở dữ liệu, đồng thời nhấp vào nút để khởi chạy trình quản lý cơ sở dữ liệu .
Kết nối với Cơ sở dữ liệu MySQL
Để thiết lập kết nối với cơ sở dữ liệu, hãy sử dụng mysql_connect hàm số. Hàm này trả về một con trỏ (còn được gọi là xử lý cơ sở dữ liệu) đến kết nối cơ sở dữ liệu. Tay cầm này sẽ được sử dụng trong mã sau này. Sau khi bạn có quyền xử lý, hãy nhớ thêm thông tin đăng nhập cơ sở dữ liệu của bạn.
- Tạo một tệp PHP mới và đặt tên là db_connnection.php và lưu nó.
Tại sao tôi tạo một tệp kết nối cơ sở dữ liệu riêng biệt? Bởi vì nếu bạn đã tạo nhiều tệp trong đó bạn muốn chèn dữ liệu hoặc chọn dữ liệu từ cơ sở dữ liệu, bạn không cần phải viết mã cho kết nối cơ sở dữ liệu mỗi lần. Bạn chỉ cần bao gồm nó bằng cách sử dụng hàm tùy chỉnh PHP bao gồm (bao gồm ‘connection.php’) trên đầu mã của bạn và gọi hàm của nó và sử dụng nó.
Tại thời điểm này, bạn có tùy chọn sử dụng truy vấn kết nối thủ tục MySQLi hoặc kết nối cơ sở dữ liệu dựa trên PHP PDO:
Truy vấn thủ tục MySQLi
<?php $servername = "localhost"; $username = "username"; $password = "password"; $db = "dbname"; // Create connection $conn = mysqli_connect($servername, $username, $password,$db); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully"; ?>
Kết nối Cơ sở dữ liệu MySQL với PHP bằng PDO
<?php $servername = "localhost"; $username = "username"; $password = "password"; $db = "dbname"; try { $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password, $db); // 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
<?php include 'db_connection.php'; echo "Connected Successfully"; mysqli_close($conn); ?>
Đối với PDO, hãy đóng kết nối như thế này
$conn = null;
MySQL từ xa
Đối với kết nối MySQL PHP từ xa Đăng nhập vào Nền tảng Cloudways bằng thông tin đăng nhập của bạn. Nhấp vào “Máy chủ” trong thanh menu trên cùng. Sau đó, nhấp vào máy chủ mục tiêu của bạn từ danh sách.
- Tiếp theo, chuyển đến tùy chọn menu Bảo mật ở menu bên trái, sau đó nhấp vào tab MySQL.
- Thêm địa chỉ IP vào vùng văn bản "Thêm IP vào danh sách trắng" và nhấp vào nút "Thêm".
- Nếu bạn có nhiều địa chỉ IP, hãy lặp lại quá trình này.
- Sau khi hoàn tất, hãy nhấp vào nút "Lưu thay đổi" để hoàn tất các thay đổi
Sau khi thành công, đặt Danh sách trắng IP, đặt địa chỉ IP được kết nối và chạy truy vấn.
Các công cụ quản lý MySQL hàng đầu
MySQL Workbench
MySQL Workbench là một công cụ trực quan dành cho các nhà thiết kế, phát triển cơ sở dữ liệu và DBA. MySQL Workbench cung cấp mô hình thông tin, cải tiến SQL và các thiết bị tổ chức toàn diện để sắp xếp máy chủ, tổ chức máy khách, củng cố và hơn thế nữa. MySQL Workbench có thể truy cập được trên Windows, Linux và Mac OS X.
MySQL Workbench là một trình quản lý cơ sở dữ liệu MySQL rất phổ biến dành cho các nhà phát triển. Nó cung cấp các công cụ quản trị tiện dụng như cấu hình máy chủ, quản lý người dùng và nhiều công cụ khác. Nó có sẵn cho hệ điều hành MAC OS, Linux và Windows.
Chúng tôi khuyên tất cả những nhà phát triển mới bắt đầu muốn học quản trị cơ sở dữ liệu nên sử dụng nó để có lợi cho họ. Các tính năng quản lý sẽ giúp họ thành thạo quản trị cơ sở dữ liệu một cách đầy đủ.
Thuận lợi
- Nó lưu các câu lệnh SQL
- Cung cấp quyền truy cập ngoại tuyến vào DB từ xa
- Lưu trữ nhiều kết nối ở một vị trí
- Có sẵn trình tạo truy vấn và lược đồ trực quan
Nhược điểm
- Nó phức tạp hơn so với PHPMyAdmin.
- Người dùng thường báo cáo sự cố phần mềm.
Navicat Cho MySQL
Navicat là một loạt các quản trị cơ sở dữ liệu đồ họa và phát triển phần mềm. Nó có thể là một ứng dụng duy nhất cho phép bạn liên kết với kết nối PHP MySQL và cơ sở dữ liệu MariaDB cùng một lúc. Phù hợp với cơ sở dữ liệu đám mây như Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud và Microsoft Azure.
Navicat for MySQL cung cấp tất cả các công cụ nâng cao mà một nhà phát triển yêu cầu để quản lý đầy đủ các hoạt động cơ sở dữ liệu của mình. Khả năng tương thích của nó với cơ sở dữ liệu đám mây làm cho nó thuận tiện khi sử dụng trong khi quản lý một ứng dụng dựa trên đám mây. Một số tính năng chính của nó là:
Ưu điểm:
- Giao diện người dùng trực quan, dễ sử dụng.
- Cung cấp kết nối dễ dàng với cơ sở dữ liệu MySQL thông qua thiết bị đầu cuối SSH.
- Lên lịch các công việc cơ sở dữ liệu - sao lưu, khôi phục, chạy báo cáo và hơn thế nữa.
- Nhập và xuất dữ liệu từ ODBC, Excel, Access, DBF, TXT, CSV, XML, JSON.
- Có sẵn các trình tạo truy vấn và lược đồ trực quan.
- Tương thích với các hệ điều hành Windows, Linux và MAC.
- Có sẵn tính năng cộng tác nhóm
Nhược điểm:
- Phiên bản chuyên nghiệp đắt tiền
- Việc thực thi trên Linux yêu cầu Wine, điều này làm chậm IDE.
- Quản lý quy trình tốn nhiều thời gian
MySQL Yog
Công cụ quản lý MySQL này có sẵn ba gói, tức là Professional, Enterprise và Pro. Bạn có thể chọn bất kỳ một trong số chúng sau khi thử nghiệm.
Các quản trị viên MySQL có thể dễ dàng làm việc với nền tảng này và có thể xử lý các tác vụ cơ sở dữ liệu của họ một cách hiệu quả. Nó chỉ có sẵn cho hệ điều hành Windows.
PROS
- Có sẵn công cụ thiết kế truy vấn mượt mà
- Cung cấp các tính năng nâng cao giúp học quản trị cơ sở dữ liệu.
CONS
- Phiên bản chuyên nghiệp rất dễ bỏ túi
- Người dùng thường báo cáo sự cố phần mềm không thường xuyên
- Không hỗ trợ bất kỳ cơ sở dữ liệu nào ngoại trừ MySQL
- Không hỗ trợ riêng cho hệ điều hành Linux và MAC.
- Không hỗ trợ kéo và thả giữa nhiều tab.
Cloudways MySQL Database Manager
Trình quản lý cơ sở dữ liệu MySQL của Cloudways cho đến nay là một trong những công cụ quản lý MySQL hữu ích và hữu ích nhất cho các nhà phát triển. Nó rất dễ sử dụng vì giao diện người dùng thân thiện và cung cấp tất cả các công cụ quản trị MySQL cần thiết mà người quản lý cơ sở dữ liệu phải có:
Ưu điểm:
- Cung cấp giao diện người dùng thân thiện với người dùng và có thể tùy chỉnh với các tính năng nâng cao.
- Thiết kế bảng lược đồ, ràng buộc và truy vấn một cách trực quan.
- Dễ dàng kết nối với cơ sở dữ liệu MySQL bằng thiết bị đầu cuối SSH.
Nhược điểm
- Không hỗ trợ kéo và thả cho nhiều tab.
- Thiếu hỗ trợ cho các cơ sở dữ liệu ngoài MariaDB, MySQL.
Hỏi:Làm cách nào để kiểm tra xem MySQL có đang chạy hay không?
A:Để kiểm tra xem MySQL có đang chạy hay không, với điều kiện được cài đặt như một dịch vụ, bạn có thể vào Start -> Control Panel -> Administration Tools -> Services và tìm MySQL trong danh sách đó. Kiểm tra xem nó có đang chạy hay không.
Hỏi:Làm cách nào để tìm cổng máy chủ cục bộ cho MySQL?
Đ:Nếu bạn đang sử dụng MySQL Workbench, hãy tìm trong tab Phiên trong ngăn Thông tin trên thanh bên. Nếu bạn đang sử dụng phpMyAdmin, hãy nhấp vào Trang chủ, sau đó nhấp vào Biến trên menu trên cùng. Tìm cài đặt cổng trên trang. Giá trị đặt là số cổng MySQL của bạn.
H:Tên người dùng và mật khẩu MySQL localhost của tôi là gì?
Đ:Xem http://php.net/manual/en/ Chức năng.mysql-connect.php. $ servername =“localhost”; $ username =“root”; $ password =“”; Điều này có thể sẽ hoạt động đối với người dùng mới và đừng quên tạo cơ sở dữ liệu trước khi kết nối với nó.
H:Hàm PHP tiêu chuẩn để kết nối với cơ sở dữ liệu MySQL là gì?
A:Một trong những lý do tại sao PHP hoạt động rất tốt với MySQL là hàm mysql_connect mở kết nối cơ sở dữ liệu. Hàm này có năm đối số.
Kết luận
Một cấu trúc cơ sở dữ liệu tốt là xương sống của bất kỳ ứng dụng nào. Cho dù đó là CMS hay nền tảng theo dõi tác vụ trực tuyến, bạn cần (các) cơ sở dữ liệu MySQL để theo dõi thông tin ứng dụng và người dùng cũng như dữ liệu máy chủ cho các quy trình ứng dụng.
Trong hướng dẫn này, chúng tôi đã học được hai điều:
- Cách tạo cơ sở dữ liệu mới
- Cách kết nối cơ sở dữ liệu MySQL với PHP
Cả MySQLi và PDO đều có tùy chọn của họ. Tuy nhiên, trước khi bắt đầu, bạn nên nhớ rằng MySQL chỉ được sử dụng để kết nối MySQL với PHP, nếu bạn cần di chuyển sang cơ sở dữ liệu khác, bạn sẽ phải sửa đổi toàn bộ mã. Mặt khác, PDO hoạt động với 12 cơ sở dữ liệu đa dạng, giúp việc di chuyển ít đòi hỏi hơn nhiều.