Home  >  Article  >  Database  >  What is the difference between mysqli and mysql

What is the difference between mysqli and mysql

青灯夜游
青灯夜游Original
2022-01-04 17:10:587370browse

Difference: 1. Mysqli connection is a permanent connection, while mysql is a non-permanent connection; 2. Every time the mysql connection is used for the second time, a new process will be reopened, while the mysqli connection always only uses the same connection. a process.

What is the difference between mysqli and mysql

The operating environment of this tutorial: windows7 system, mysql8 version, Dell G3 computer.

1. The difference between mysql and mysqli:

Mysqli connection is a permanent connection, while mysql is a non-permanent connection.

mysql connection: Every time it is used for the second time, a new process will be reopened.

mysqli connection: always use the same process.

Benefits: This can greatly reduce the pressure on the server side.

Of course, if mysql also needs a permanent connection, you can use the mysql_pconnect() function

2. The use of mysqli:

1. The process-oriented use of mysqli:

$conn = mysqli_connect('localhost', 'root', '123', 'db_test') or ('error');
$sql = "select * from db_table";
$query = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($query)){
    echo $row['title'];
}

2. The object-oriented use of mysqli

$conn = mysqli('localhost', 'root', '123', 'db_test');
$sql = "select * from db_table";
$query = $conn->query($sql);
while($row = $query->fetch_array()){
    echo $row['title'];
}

##3. mysql_pconnect and mysqli_connect:

1. The connection opened by mysql_pconnect will not be closed (even if mysql_close is called, it will not be closed because it is invalid). Similar to the connection buffer pool, if there is a connection from the same machine next time, When a user name connects to the same database, PHP will automatically use the last established connection without the need to re-establish a new one.

Advantages: It saves the overhead of establishing a connection with the database each time.

Disadvantages: It needs to waste some memory and occupy some connections.

So if the user visits When it is large, errors will occur. You need to change the max_connections parameter of mysql to a larger value, or use mysql_connect() to solve the problem.

2. Simply put, MySQL_pconnect is used to establish a continuous connection between PHP and MySQL. Generally, the execution mode of PHP is to initialize all resources when the script starts executing, and release all resources after the script is finished.

The MySQL_pconnect method is different. MySQL_connect re-establishes a relationship with the sql server through tcp, etc. every time, and each connection consumes a lot of server resources.

3. When using pconnect, when there is a request to connect to MySQL, PHP will check whether the same connection (connected to the same MySQL server with the same username and password) has been established before. If so, Use this connection directly. It is worth noting that the concept of the same connection is for the process. The establishment of MySQL_pconnect by different processes will establish multiple connections.

4. Connect and pconnect will not bring about functional differences, only differences in performance.

5. Generally, PHP has two operating modes. One is to run as cgi, and the other is to run as an apache module.

6. When used as cgi, connect is no different from pconnect, because every time cgi is run, the resources will be destroyed and cleaned up.

[Related recommendations:

mysql video tutorial

The above is the detailed content of What is the difference between mysqli and mysql. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn