brownswan883
New member
** Kết nối PHP với cơ sở dữ liệu MySQL trên một máy chủ khác bằng PDO và MySQLI.Cấp đặc quyền MySQL **
Thông thường, nếu mã nguồn và cơ sở dữ liệu nằm trên cùng một máy chủ lưu trữ, bạn chỉ cần đặt tên máy chủ thành `localhost`.Tuy nhiên, trong nhiều trường hợp chúng ta cần sử dụng một cơ sở dữ liệu bổ sung hoặc có phạm vi IP máy chủ bên ngoài, một thiết lập nhỏ được yêu cầu trên máy chủ bổ sung này.
Khi kết nối qua địa chỉ IP trên máy chủ khác, bạn có thể gặp lỗi sau:
`` `
Máy chủ ‘xxx.xxx.xxxxx, không được phép kết nối với máy chủ MySQL này.
`` `
Chúng tôi cần tạo người dùng để cung cấp cho phía kết nối và bạn có thể cấp các đặc quyền MySQL cho tất cả các cơ sở dữ liệu hoặc cơ sở dữ liệu cụ thể, các bảng cụ thể.
** Bước 1: Tạo người dùng trong MySQL **
Đăng nhập vào máy chủ MySQL của bạn và tạo người dùng mới.Ví dụ:
`` `
Tạo người dùng 'myuser'@'%' được xác định bởi 'myPassword';
`` `
`%` Ký vào trường `host` có nghĩa là người dùng này có thể kết nối từ bất kỳ máy chủ nào.Bạn cũng có thể chỉ định một máy chủ cụ thể, chẳng hạn như `localhost` hoặc` 192.168.1.1`.
** Bước 2: Cấp đặc quyền MySQL **
Khi bạn đã tạo người dùng, bạn cần cấp cho họ các đặc quyền cần thiết.Để làm điều này, hãy sử dụng tuyên bố `Grant`.Ví dụ:
`` `
Cấp tất cả các đặc quyền trên *. * Cho 'myuser'@'%';
`` `
Điều này cho phép người dùng tất cả các đặc quyền trên tất cả các cơ sở dữ liệu và bảng.Bạn cũng có thể cấp các đặc quyền cụ thể hơn, chẳng hạn như `select` hoặc` update`.
** Bước 3: Kết nối PHP với MySQL **
Bây giờ bạn đã tạo một người dùng và cấp cho họ các đặc quyền cần thiết, bạn có thể kết nối PHP với MySQL.Để làm điều này, bạn có thể sử dụng tiện ích mở rộng `pdo` hoặc` mysqli`.
Ví dụ: mã sau sử dụng `pdo` để kết nối với mysql:
`` `PHP
$ dsn = 'mysql: host = localhost; dbname = myDatabase';
$ username = 'myuser';
$ password = 'myPassword';
thử {
$ Conn = PDO mới ($ dsn, $ username, $ password);
} Catch (pdoException $ e) {
Echo 'Lỗi:'.$ e-> getMessage ();
}
`` `
** Bước 4: Kiểm tra kết nối của bạn **
Khi bạn đã kết nối với MySQL, bạn có thể kiểm tra kết nối của mình bằng cách chạy truy vấn đơn giản.Ví dụ:
`` `PHP
$ sql = 'Chọn * từ người dùng';
$ result = $ Conn-> truy vấn ($ sql);
if ($ result-> num_rows> 0) {
// kết nối thành công
} khác {
// kết nối không thành công
}
`` `
=======================================
**Connect PHP to MySQL database on another server using PDO and mysqli. Grant MySQL Privileges**
Normally, if the source code and database are on the same hosting server, you only need to set the server name to `localhost`. However, in many cases where we need to use an additional database or have an external server IP range, a little setup is required on this additional server.
When connecting via IP address on another server, you may get the following error:
```
Host ‘xxx.xxx.xxxxx’ is not allowed to connect to this mysql server.
```
We need to create a user to give to the connection side, and you can grant MySQL privileges to all databases or specific databases, specific tables.
**Step 1: Create a user in MySQL**
Log in to your MySQL server and create a new user. For example:
```
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
```
The `%` sign in the `host` field means that this user can connect from any host. You can also specify a specific host, such as `localhost` or `192.168.1.1`.
**Step 2: Grant MySQL privileges**
Once you have created a user, you need to grant them the necessary privileges. To do this, use the `GRANT` statement. For example:
```
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%';
```
This grants the user all privileges on all databases and tables. You can also grant more specific privileges, such as `SELECT` or `UPDATE`.
**Step 3: Connect PHP to MySQL**
Now that you have created a user and granted them the necessary privileges, you can connect PHP to MySQL. To do this, you can use either the `PDO` or `mysqli` extension.
For example, the following code uses `PDO` to connect to MySQL:
```php
$dsn = 'mysql:host=localhost;dbname=mydatabase';
$username = 'myuser';
$password = 'mypassword';
try {
$conn = new PDO($dsn, $username, $password);
} catch (PDOException $e) {
echo 'Error: ' . $e->getMessage();
}
```
**Step 4: Test your connection**
Once you have connected to MySQL, you can test your connection by running a simple query. For example:
```php
$sql = 'SELECT * FROM users';
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// The connection is successful
} else {
// The connection failed
}
```
Thông thường, nếu mã nguồn và cơ sở dữ liệu nằm trên cùng một máy chủ lưu trữ, bạn chỉ cần đặt tên máy chủ thành `localhost`.Tuy nhiên, trong nhiều trường hợp chúng ta cần sử dụng một cơ sở dữ liệu bổ sung hoặc có phạm vi IP máy chủ bên ngoài, một thiết lập nhỏ được yêu cầu trên máy chủ bổ sung này.
Khi kết nối qua địa chỉ IP trên máy chủ khác, bạn có thể gặp lỗi sau:
`` `
Máy chủ ‘xxx.xxx.xxxxx, không được phép kết nối với máy chủ MySQL này.
`` `
Chúng tôi cần tạo người dùng để cung cấp cho phía kết nối và bạn có thể cấp các đặc quyền MySQL cho tất cả các cơ sở dữ liệu hoặc cơ sở dữ liệu cụ thể, các bảng cụ thể.
** Bước 1: Tạo người dùng trong MySQL **
Đăng nhập vào máy chủ MySQL của bạn và tạo người dùng mới.Ví dụ:
`` `
Tạo người dùng 'myuser'@'%' được xác định bởi 'myPassword';
`` `
`%` Ký vào trường `host` có nghĩa là người dùng này có thể kết nối từ bất kỳ máy chủ nào.Bạn cũng có thể chỉ định một máy chủ cụ thể, chẳng hạn như `localhost` hoặc` 192.168.1.1`.
** Bước 2: Cấp đặc quyền MySQL **
Khi bạn đã tạo người dùng, bạn cần cấp cho họ các đặc quyền cần thiết.Để làm điều này, hãy sử dụng tuyên bố `Grant`.Ví dụ:
`` `
Cấp tất cả các đặc quyền trên *. * Cho 'myuser'@'%';
`` `
Điều này cho phép người dùng tất cả các đặc quyền trên tất cả các cơ sở dữ liệu và bảng.Bạn cũng có thể cấp các đặc quyền cụ thể hơn, chẳng hạn như `select` hoặc` update`.
** Bước 3: Kết nối PHP với MySQL **
Bây giờ bạn đã tạo một người dùng và cấp cho họ các đặc quyền cần thiết, bạn có thể kết nối PHP với MySQL.Để làm điều này, bạn có thể sử dụng tiện ích mở rộng `pdo` hoặc` mysqli`.
Ví dụ: mã sau sử dụng `pdo` để kết nối với mysql:
`` `PHP
$ dsn = 'mysql: host = localhost; dbname = myDatabase';
$ username = 'myuser';
$ password = 'myPassword';
thử {
$ Conn = PDO mới ($ dsn, $ username, $ password);
} Catch (pdoException $ e) {
Echo 'Lỗi:'.$ e-> getMessage ();
}
`` `
** Bước 4: Kiểm tra kết nối của bạn **
Khi bạn đã kết nối với MySQL, bạn có thể kiểm tra kết nối của mình bằng cách chạy truy vấn đơn giản.Ví dụ:
`` `PHP
$ sql = 'Chọn * từ người dùng';
$ result = $ Conn-> truy vấn ($ sql);
if ($ result-> num_rows> 0) {
// kết nối thành công
} khác {
// kết nối không thành công
}
`` `
=======================================
**Connect PHP to MySQL database on another server using PDO and mysqli. Grant MySQL Privileges**
Normally, if the source code and database are on the same hosting server, you only need to set the server name to `localhost`. However, in many cases where we need to use an additional database or have an external server IP range, a little setup is required on this additional server.
When connecting via IP address on another server, you may get the following error:
```
Host ‘xxx.xxx.xxxxx’ is not allowed to connect to this mysql server.
```
We need to create a user to give to the connection side, and you can grant MySQL privileges to all databases or specific databases, specific tables.
**Step 1: Create a user in MySQL**
Log in to your MySQL server and create a new user. For example:
```
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
```
The `%` sign in the `host` field means that this user can connect from any host. You can also specify a specific host, such as `localhost` or `192.168.1.1`.
**Step 2: Grant MySQL privileges**
Once you have created a user, you need to grant them the necessary privileges. To do this, use the `GRANT` statement. For example:
```
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%';
```
This grants the user all privileges on all databases and tables. You can also grant more specific privileges, such as `SELECT` or `UPDATE`.
**Step 3: Connect PHP to MySQL**
Now that you have created a user and granted them the necessary privileges, you can connect PHP to MySQL. To do this, you can use either the `PDO` or `mysqli` extension.
For example, the following code uses `PDO` to connect to MySQL:
```php
$dsn = 'mysql:host=localhost;dbname=mydatabase';
$username = 'myuser';
$password = 'mypassword';
try {
$conn = new PDO($dsn, $username, $password);
} catch (PDOException $e) {
echo 'Error: ' . $e->getMessage();
}
```
**Step 4: Test your connection**
Once you have connected to MySQL, you can test your connection by running a simple query. For example:
```php
$sql = 'SELECT * FROM users';
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// The connection is successful
} else {
// The connection failed
}
```