Cam kết Chọn ngay Chuyên Nghiệp trong phục vụ với hơn 20 Kỹ thuật IT luôn sẵn sàng tới tận nơi sửa chữa và cài đặt ở Tphcm. Báo giá rõ ràng. 100% hài lòng mới thu tiền.


Sửa máy tính cài win PCI

Cam kết Chọn ngay Chuyên Nghiệp trong phục vụ với hơn 20 Kỹ thuật IT luôn sẵn sàng tới tận nơi sửa chữa và cài đặt ở Tphcm. Báo giá rõ ràng. 100% hài lòng mới thu tiền.


Công ty sửa máy tính PCI

Làm thế nào để kết nối PHP với MySQL Database

Website suamaytinhpci.com có bài Làm thế nào để kết nối PHP với MySQL DatabaseNếu bạn làm web, chắc chắn bạn cần quản lý, điều chỉnh, hiển thị, hoặc xóa bảng trong cơ sở dữ liệu. Bài này sẽ hướng dẫn bạn kết nối PHP với MySQL database cũng như sửa các lỗi cơ bản liên quan đến MySQL connection.

Giới thiệu

Bài hướng dẫn này sẽ cực kỳ hữu dụng nếu bạn mới bắt đầu học về lập trình website. Chúng tôi sẽ chỉ bạn cách làm làm sao để kết nối PHP với MySQL database . Nếu bạn làm web, chắc chắn bạn phải quản lý, điều chỉnh, hiển thị, hoặc xóa bảng trong cơ sở dữ liệu.

Bạn cần chuẩn bị gì?

Trước khi bắt đầu bạn cần chuẩn bị:

  • Truy cập vào tài khoản hosting control panel

Bước 1 — Tạo MySQL Database

Bước này cần thiết trong tình huống nếu bạn chưa có MySQL database. Tại Hostinger, MySQL database cũng có thể có thể được tạo đơn giản trong phần MySQL Databases . Nếu cần, bạn có thể đọc thêm hướng dẫn tạo MySQL database trên cPanel(tiếng Anh). Hostinger Control Panel MySQL Databases Section

Khi bạn đã vào trong phần MySQL Databases , nhập thông tin và nhấn nút Create . Tạo cơ sở dữ liệu trong mysql database

QUAN TRỌNG: Lưu lại thông tin bạn vừa điền. Bạn cần nó để kết nối cơ sở dữ liệu trong php ở bước tiếp theo.

Bước 2 — Viết code để kết nối PHP với MySQL database

Bạn đang muốn kết nối cơ sở dữ liệu trong php tức là ở website cần phải có một PHP code để thực thi việc này. Ở thí dụ này, database có thể u266072517_name và user database liên quan là  u266072517_user . Bạn cũng cần được biết mật khẩu, trong trường hợp này mật khẩu chúng tôi đặt tại Bước một là buystuffpwd .

Bạn cũng luôn phải phải điền đúng servername hoặc hostname. Ở Hostinger, MySQL hostname cũng đặt trong mục MySQL Databases . Trong tỉ dụ này, hostname sẽ là: mysql.hostinger.com .

Ở trường hợp khi bạn mong muốn kết nối mysql với php tại máy local (script lấy database của website đặt cùng server với database), bạn cũng đều có thể dùng tên thường gọi localhost để đặt cho hostname. Nếu không đúng, hoặc nếu bạn đang kết nối php với mysql database từ xa (script kết nối và cơ sở dữ liệu không nằm ở phía trong và một server), bạn có thể phải sử dụng địa chỉ IP address của database server hoặc hostname của database. Để hiểu thêm thông tin chi tiết, hãy liên hệ hãng sản xuất hosting của bạn để được cung cấp đúng tin tức về hostname.

Hiện tại có 2 phương thức để kết nối tới cơ sở dữ liệu MySQL là MySQLi PDO . Một thay đổi quan trọng là cả hai phương pháp đều đã bổ trợ ‘prepared statements’, giúp tăng cường khả năng chống SQL injection khi kết nối mysql với php để chỉnh sửa thông tin. Function cũ ‘mysql_’ đã trở nên deprecated (lỗi thời) và không còn được sử dụng và phát triển nữa, vì nó tận gốc không an toàn.

MySQLi viết tắt của MySQL Improved,  nó thêm tính năng trong giao diện của MySQL. PDO viết tắt của cụm PHP Data Object . Khác biệt chính giữa PDO và MySQLi là  PDO bổ trợ nhiều loại database khác nhau (MySQL, MS SQL, Postgre DB) trong và một scrip, bạn chỉ cần viết các hàm liên quan đến dữ liệu một lần. PDO là ‘object oriented’ (hướng đối tượng), kết nối giữa website và database được tạo bởi các biến đối tượng. Ví dụ khi tạo một object:

 $my_Object = new OBJECT(); 

MySQLi

Sau đây là thí dụ cơ bản cách lấy database của website qua một PHP code đơn giản:

    

Phương pháp chính của script này là hàm m ysqli_connect() . Đây là hàm PHP, bạn có thể tìm biết thêm tại đây.

Ở đầu code, chúng ta thấy có những biến khai báo và giá trị được cấp cho chúng. Thông thường, chúng ta cần bốn biến để thiết lập kết nối cơ sở dữ liệu trong php code: $servername, $database, $username và $password . Trong code này, chúng mình đã đặt thông tin database chính xác cho các biến này, để tương lai khi sử dụng hàm mysqli_connect() chúng tôi có thể dùng biến này để đưa cho hàm này.

Tiếp theo hàm mysqli_connect() sẽ thử thiết lập kết nối tới tới database bằng tin tức đã được cấp trong code, phần tiếp theo là code sẽ thực thi nếu hàm mysqli_connect() thực hiện thành công. Như bạn thấy, sau khi kết nối thành công, nó sẽ tiếp tục với hàm sau:

 if ($conn-> connect_error) { die("Connection failed: " . $conn-> connect_error); } 

Function die() được thực thi tai đây, nó sẽ hủy script và cho kết quả mà ta đặt ra. Mặc định nó sẽ hiện Connection failed: và đi kèm một thông báo lỗi để ta biết lỗi do đâu.

Nếu kết nối thành công, phần code sau sẽ được thực thi.

 echo "Connected successfully"; 

Dòng này chỉ đơn giản hiển thị thông báo mà ta đã định sẵn, vì trước đấy chúng ta đã dùng hàm IF chỉ được kích hoạt khi kết nối lỗi.

Phần cuối cùng của code là:

 mysqli_close($conn); 

Nó sẽ đóng kết nối. Nếu không có dòng này, kết nối sẽ tự đóng sau khi script kết thúc. Bạn cũng có thể dùng dòng này để đóng kết nối với database trước lúc script kết thúc.

Bạn cũng cũng có thể chạy code bằng phương pháp truy cập script từ tên miền.

PDO

Một kết nối PDO database cần tạo ‘PDO object’ với Data Source Name (DSN), username và password. DSN khái niệm loại database của bạn, tên database, và bất kỳ thông tin nào cần có khác. DSN cũng đều có thể là một biến cơ bản được sử dụng làm tham số khi tạo PDO object, được hiển thị như code bên dưới.

PDO hỗ trợ nhiều loại database không giống nhau và DSN là chỗ định nghĩ nhiều kết nối khác nhau, thay thế dòng ‘mysql:’ với tên loại database khác. Trên thực tế, script có thể giúp user chọn kết nối nào càng phải được sử dụng và viết code chọn biến phù hợp trong DSN. Trong bài hướng dẫn này, chúng tôi sẽ chọn sử dụng MySQL. Đây là cách lấy database của website dựa trên PHP và MySQL.

Khi tạo PDO object dùng cho database connection, bạn có thể đổi nó thành mã ‘try…catch…’ . Có nghĩa là script này sẽ thử kết nối sử dụng code được xác định, nếu có vấn đề, code trong phần ‘catch’ sẽ chạy. Bạn có thể dùng catch block để hiển thị mã báo lỗi hoặc chay code khác nếu quá trình thử thất bại. Trong tỉ dụ của chúng ta, một mã báo lỗi đơn giản sẽ hiện ra để báo lỗi khi có tin tức nào không chính xác.

   connect_error) { die("Connection failed: " . $conn-> connect_error); } echo "Connected successfully"; ?>  

Bước 3 — Kiểm tra kết nối và sửa lỗi thông dụng

Nếu code kết nối PHP với mysql thành đạt và không gặp vấn đề nào khác, bạn sẽ thấy thông báo này sau khi truy cập vào Web sửa máy tính PCI : kết nối thành công

Trong trường hợp kết nối bị lỗi, bạn sẽ thấy thông báo khác. Mã lỗi cũng đều có thể hơi khác giữa MySQLi và PDO.

Sửa lỗi PHP MySQL Connection: access denied for user

Ví dụ, nếu bạn điền không đúng mật khẩu cơ sở dữ liệu, lỗi sẽ hiện như sau:

Lỗi trên MySQLi : kết nối db thất bại

Lỗi trên PDO:

kết nối pdo thất bại

Vậy trong tình huống nhìn thấy lỗi này, điều đầu tiên cần kiểm tra thông tin mật khẩu của database. Lỗi thường thì là do điền sai mật khẩu database. Một nguyên do khác có thể là bạn chưa xuất hiện user được gán cho database. Trong control panel của Hostinger, tin tức database và mật khẩu cũng có thể đặt lại trong mục  MySQL Databases : database hostinger

Và trong cPanel, bạn sẽ thấy tin tức như bên dưới, hãy chắc là bạn đã gán user cho database: cPanel MySQL Database Details

Sửa lỗi PHP MySQL Connection: connection failed. Can’t connect to MySQL server

Với MySQLi: kết nối thất bại

Can’t connect to MySQL server on ‘server’ (110) có tức là script không thể tìm cách lấy database của website do server database không phản hồi. Lỗi này diễn ra có thể chúng ta đặt sai tên  server.  Có thể do chúng ta vẫn để tên server mặc định là  localhost  thay vì là tên server được cấp bởi hãng sản xuất hosting.

Với PDO: pdo lỗi host name

  • [HY000] có nghĩa là lỗi chung .
  • [2002] nghĩa là  không thể kết nối tới MySQL server local . Phần còn lại của mã lỗi là thông tin thêm, giải thích rằng “host” không thể được tìm thấy.

Ngoài ra, khi sửa lỗi, hãy kiểm tra mã lỗi (tiếng Anh) được lưu trong file báo lỗi. Bạn có thể tìm thấy nó trong cùng thư mục script đang chạy. Ví dụ, nếu chúng ta đang chạy script trong thư mục public_html , bạn sẽ thấy file error_log cũng ở thư mục public_html.

Mở nó lên, bạn sẽ thấy lỗi khi script kết nối cơ sở dữ liệu trong php tạo ra, nó sẽ giúp bạn tìm cách sửa lỗi kết nối database.

Lời kết

Trong bài hướng dẫn này, chúng mình đã hướng dẫn cơ bản cách kết nối php tới MySQL database bằng cách dùng MySQLi và PHP Data Objects (PDO). Bạn cũng đều có thể sử dụng tư liệu này kết hợp với những script nâng cao khác, nhưng hãy làm mướn đoạn này thành đạt vì kết nối cơ sở dữ liệu trong php trước là bước đầu tiên trong công đoạn thao tác với database.

Các tài liệu khác:

  • Làm ra sao để insert dữ liệu vào MySQL database

Từ khóa bài viết:

Bài viết Làm thế nào để kết nối PHP với MySQL Database được tổng hợp sưu tầm và biên tập bởi nhiều user – Sửa máy tính PCI – TopVn Mọi ý kiến đóng góp và phản hồi vui lòng gửi Liên Hệ cho chúng tôi để điều chỉnh. Xin cảm ơn.

Xếp Hạng