search
HomeDatabaseMysql TutorialAbout 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

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'];
}

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'];
}
  • mysql_connect and mysql_pconnect and mysqli_connect:

The connection opened by mysql_pconnect will not be closed (even if mysql_close is called, it will not be closed because of the It is invalid),

is similar to the connection buffer pool. If there is a connection to the same database from the same user name

on the same machine next time, PHP will automatically use the last connection. established connection without the need to re-establish 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.

Simply speaking, 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. Resources.

The MySQL_pconnect method is not like this. MySQL_connect re-establishes a relationship with the sql server through tcp etc.

every time, and each connection consumes a lot of server resources.

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 If there is, use this connection directly. It is worth noting that the concept of the same connection is for the process.

Different process connections MySQL_pconnect will establish multiple connections.

connect and pconnect will not bring about functional differences, only performance differences.

Generally, php has two operating modes, one is to run as cgi, and the other is to run as an apache module.

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

When php is run as an apache module, you can use the continuous connection to the database, but There may be potential problems,

See the PHP manual if you are using cgi installation method. pconnection will never take effect.

The biggest disadvantage of long connections is that if a user is locked, the current process will be permanently locked.

If your setting in apache is that the process will never be destroyed, then.........

I said it and recorded so much,

  1. That is to say, try to use mysql_connect, because it will automatically interrupt after the operation is completed, which is in line with the programming style.

  2. You can also use mysql_connect and mysql_pconnect together, just like a link buffer pool,

  3. That is to say, create a mysql_connect and mysql_pconnect the type.

  4. Of course, if downward compatibility is not considered, it is best to use mysqli_connect, because mysqli itself is a permanent connection.

The above is the detailed content of About the difference between mysql and mysqli. 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
What Are the Limitations of Using Views in MySQL?What Are the Limitations of Using Views in MySQL?May 14, 2025 am 12:10 AM

MySQLviewshavelimitations:1)Theydon'tsupportallSQLoperations,restrictingdatamanipulationthroughviewswithjoinsorsubqueries.2)Theycanimpactperformance,especiallywithcomplexqueriesorlargedatasets.3)Viewsdon'tstoredata,potentiallyleadingtooutdatedinforma

Securing Your MySQL Database: Adding Users and Granting PrivilegesSecuring Your MySQL Database: Adding Users and Granting PrivilegesMay 14, 2025 am 12:09 AM

ProperusermanagementinMySQLiscrucialforenhancingsecurityandensuringefficientdatabaseoperation.1)UseCREATEUSERtoaddusers,specifyingconnectionsourcewith@'localhost'or@'%'.2)GrantspecificprivilegeswithGRANT,usingleastprivilegeprincipletominimizerisks.3)

What Factors Influence the Number of Triggers I Can Use in MySQL?What Factors Influence the Number of Triggers I Can Use in MySQL?May 14, 2025 am 12:08 AM

MySQLdoesn'timposeahardlimitontriggers,butpracticalfactorsdeterminetheireffectiveuse:1)Serverconfigurationimpactstriggermanagement;2)Complextriggersincreasesystemload;3)Largertablesslowtriggerperformance;4)Highconcurrencycancausetriggercontention;5)M

MySQL: Is it safe to store BLOB?MySQL: Is it safe to store BLOB?May 14, 2025 am 12:07 AM

Yes,it'ssafetostoreBLOBdatainMySQL,butconsiderthesefactors:1)StorageSpace:BLOBscanconsumesignificantspace,potentiallyincreasingcostsandslowingperformance.2)Performance:LargerrowsizesduetoBLOBsmayslowdownqueries.3)BackupandRecovery:Theseprocessescanbe

MySQL: Adding a user through a PHP web interfaceMySQL: Adding a user through a PHP web interfaceMay 14, 2025 am 12:04 AM

Adding MySQL users through the PHP web interface can use MySQLi extensions. The steps are as follows: 1. Connect to the MySQL database and use the MySQLi extension. 2. Create a user, use the CREATEUSER statement, and use the PASSWORD() function to encrypt the password. 3. Prevent SQL injection and use the mysqli_real_escape_string() function to process user input. 4. Assign permissions to new users and use the GRANT statement.

MySQL: BLOB and other no-sql storage, what are the differences?MySQL: BLOB and other no-sql storage, what are the differences?May 13, 2025 am 12:14 AM

MySQL'sBLOBissuitableforstoringbinarydatawithinarelationaldatabase,whileNoSQLoptionslikeMongoDB,Redis,andCassandraofferflexible,scalablesolutionsforunstructureddata.BLOBissimplerbutcanslowdownperformancewithlargedata;NoSQLprovidesbetterscalabilityand

MySQL Add User: Syntax, Options, and Security Best PracticesMySQL Add User: Syntax, Options, and Security Best PracticesMay 13, 2025 am 12:12 AM

ToaddauserinMySQL,use:CREATEUSER'username'@'host'IDENTIFIEDBY'password';Here'showtodoitsecurely:1)Choosethehostcarefullytocontrolaccess.2)SetresourcelimitswithoptionslikeMAX_QUERIES_PER_HOUR.3)Usestrong,uniquepasswords.4)EnforceSSL/TLSconnectionswith

MySQL: How to avoid String Data Types common mistakes?MySQL: How to avoid String Data Types common mistakes?May 13, 2025 am 12:09 AM

ToavoidcommonmistakeswithstringdatatypesinMySQL,understandstringtypenuances,choosetherighttype,andmanageencodingandcollationsettingseffectively.1)UseCHARforfixed-lengthstrings,VARCHARforvariable-length,andTEXT/BLOBforlargerdata.2)Setcorrectcharacters

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.