Tiện ích mở rộng MySQLi được phát triển để tận dụng các tính năng mới có trong hệ thống MySQL phiên bản 4. 1 trở lên. MySQLi đôi khi còn được gọi là phần mở rộng được cải thiện của MySQL. Tiện ích mở rộng MySQLi được bao gồm trong phiên bản PHP 5 trở lên
Nếu bạn đang sử dụng MySQL phiên bản 4. 1. 3 trở lên, bạn nên sử dụng tiện ích mở rộng này
Tiện ích mở rộng MySQLi có một số lợi ích, những cải tiến chính so với tiện ích mở rộng MySQL được liệt kê bên dưới
- Giao diện hướng đối tượng cũng như tiện ích mở rộng này cũng cung cấp giao diện thủ tục
- Hỗ trợ cho báo cáo đã chuẩn bị
- Hỗ trợ cho nhiều câu lệnh
- Hỗ trợ giao dịch
- Khả năng sửa lỗi nâng cao
- Hỗ trợ máy chủ nhúng
Vì vậy, hôm nay tôi sẽ viết về việc kết nối với máy chủ MySQL bằng tiện ích mở rộng MySQLi của PHP
Hàm mysqli_connect() được sử dụng để kết nối với cơ sở dữ liệu, hàm này trả về một mã định danh liên kết Khi thành công, bạn có thể sử dụng trong các hàm MySQLi khác. Khi thất bại, nó sẽ báo lỗi
Kết nối MySQLi với phương thức đối tượng
$link = new mysqli('localhost', 'root', 'password', 'database_name');Kết nối MySQLi với phương thức thủ tục
$link = mysqli_connect('localhost', 'root', 'password', 'database_name');Nếu cổng MySQL của bạn khác với cổng mặc định (3306), bạn cần cung cấp số cổng làm tham số thứ năm
Kết nối MySQLi với Số cổng
//MySQLi connection with the procedural method and port $link = mysqli_connect('localhost', 'root', 'password', 'database_name',3307); //MySQLi connection with the object method and port $link = new mysqli('localhost', 'root', 'password', 'database_name',3307);mysqli_connect() ném lỗi khi thất bại và $link = mysqli_connect('localhost', 'root', 'password', 'database_name'); 1 lưu lỗi trong lần gọi cuối cùng tới mysqli_connect(). Nếu không có lỗi, nó trả về NULL
Kiểm tra lỗi kết nối
// OPPs method $sql = new mysqli('hostName', 'userName', 'password', 'DBName'); if($db->connect_errno > 0){ die('Unable to connect to database [' . $db->connect_error . ']'); } //procedural method $con = mysqli_connect("hostName","userName","password","DBName") or die("Some error occurred during connection " . mysqli_error($con));Tôi hy vọng bạn thích bài đăng này, vui lòng bình luận bên dưới, đề xuất của bạn và các vấn đề nếu bạn gặp phải - chúng tôi ở đây để giải quyết vấn đề của bạn
Để lưu trữ hoặc truy cập dữ liệu bên trong cơ sở dữ liệu MySQL, trước tiên bạn cần kết nối với máy chủ cơ sở dữ liệu MySQL. PHP cung cấp hai cách khác nhau để kết nối với máy chủ MySQL. Phần mở rộng MySQLi (MySQL cải tiến) và PDO (Đối tượng dữ liệu PHP)
Mặc dù tiện ích mở rộng PDO dễ mang theo hơn và hỗ trợ hơn mười hai cơ sở dữ liệu khác nhau, nhưng tiện ích mở rộng MySQLi như tên gợi ý chỉ hỗ trợ cơ sở dữ liệu MySQL. Tuy nhiên, tiện ích mở rộng MySQLi cung cấp một cách dễ dàng hơn để kết nối và thực hiện các truy vấn trên máy chủ cơ sở dữ liệu MySQL. Cả PDO và MySQLi đều cung cấp API hướng đối tượng, nhưng MySQLi cũng cung cấp API thủ tục tương đối dễ hiểu đối với người mới bắt đầu
Mẹo. Tiện ích mở rộng MySQLi của PHP cung cấp cả lợi ích về tốc độ và tính năng so với tiện ích mở rộng PDO, vì vậy nó có thể là lựa chọn tốt hơn cho các dự án dành riêng cho MySQL
Kết nối với máy chủ cơ sở dữ liệu MySQL
Trong PHP, bạn có thể dễ dàng thực hiện việc này bằng cách sử dụng hàm mysqli_connect(). Tất cả giao tiếp giữa PHP và máy chủ cơ sở dữ liệu MySQL diễn ra thông qua kết nối này. Dưới đây là các cú pháp cơ bản để kết nối với MySQL bằng các phần mở rộng MySQLi và PDO
cú pháp. MySQLi, cách thủ tục
$link = mysqli_connect("tên máy chủ", "tên người dùng", "mật khẩu", "cơ sở dữ liệu");
cú pháp. MySQLi, cách hướng đối tượng
$mysqli = mysqli mới("tên máy chủ", "tên người dùng", "mật khẩu", "cơ sở dữ liệu");
cú pháp. Cách đối tượng dữ liệu PHP (PDO)
$pdo = PDO mới("mysql. máy chủ=tên máy chủ;dbname=cơ sở dữ liệu", "tên người dùng", "mật khẩu");
Tham số tên máy chủ trong cú pháp trên chỉ định tên máy chủ (e. g. $link = mysqli_connect('localhost', 'root', 'password', 'database_name'); 4) hoặc địa chỉ IP của máy chủ MySQL, trong khi tham số tên người dùng và mật khẩu chỉ định thông tin đăng nhập để truy cập máy chủ MySQL và tham số cơ sở dữ liệu, nếu được cung cấp, sẽ chỉ định cơ sở dữ liệu MySQL mặc định sẽ được sử dụng khi thực hiện truy vấn
Ví dụ sau đây cho thấy cách kết nối với máy chủ cơ sở dữ liệu MySQL bằng MySQLi (cả hướng thủ tục và hướng đối tượng) và phần mở rộng PDO
Ví dụ
PDO hướng đối tượng thủ tục
Tải xuống____5setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Print host information echo "Connect Successfully. Host info: " . $pdo->getAttribute(constant("PDO::ATTR_CONNECTION_STATUS")); } catch(PDOException $e){ die("ERROR: Could not connect. " . $e->getMessage()); } ?>Ghi chú. Tên người dùng mặc định cho máy chủ cơ sở dữ liệu MySQL là $link = mysqli_connect('localhost', 'root', 'password', 'database_name'); 5 và không có mật khẩu. Tuy nhiên để cơ sở dữ liệu của bạn không bị xâm nhập và truy cập trái phép bạn nên đặt mật khẩu cho tài khoản MySQL
Mẹo. Đặt thuộc tính $link = mysqli_connect('localhost', 'root', 'password', 'database_name'); 6 thành connect_error); } // Print host information echo "Connect Successfully. Host info: " . $mysqli->host_info; ?>0 yêu cầu PDO ném ngoại lệ bất cứ khi nào xảy ra lỗi cơ sở dữ liệu
Đóng kết nối máy chủ cơ sở dữ liệu MySQL
Kết nối đến máy chủ cơ sở dữ liệu MySQL sẽ tự động đóng ngay sau khi quá trình thực thi tập lệnh kết thúc. Tuy nhiên, nếu bạn muốn đóng nó sớm hơn, bạn có thể thực hiện việc này bằng cách gọi hàm PHP connect_error); } // Print host information echo "Connect Successfully. Host info: " . $mysqli->host_info; ?>1