Today we will talk about the difference and usage of mysql and mysqliConnecting database. In fact, mysql has been abandoned in PHP5.6 and above. , but many students are still using it. Today we will talk about the difference between mysql and mysqli connection.
1. The concepts of mysql and mysqli are related:
1. Mysql and mysqli are both function sets in PHP, and mysql database is not very relevant.
2. Before the php5 version, the mysql function of php was generally used to drive the mysql database. For example, the mysql_query() function is process-oriented. 3. After the php5 version, the mysqli function has been added. In a sense, it is an enhanced version of the mysql system function, which is more stable, efficient and secure. Corresponding to mysql_query() is mysqli_query(), which is object-oriented and uses objects to operate and drive the mysql database
2. The difference between mysql and mysqli:
1. Mysql is a non-persistent connection function. Every time mysql is connected, Open a connected process.
2. Mysqli is a permanent connection function. Running mysqli multiple times will use the same connection process, thus reducing server overhead. mysqli encapsulates some advanced operations such as transactions, and also encapsulates many available methods in the DB operation process.
3. Usage of mysql and mysqli:
1:mysql (process mode):
$conn = mysql_connect('localhost', 'user', 'password'); //连接mysql数据库 mysql_select_db('data_base'); //选择数据库 $result = mysql_query('select * from data_base');//第二个可选参数,指定打开的连接 $row = mysql_fetch_row( $result ) ) //只取一行数据 echo $row[0]; //输出第一个字段的值
PS: mysqli operates in a procedural manner. Some functions must specify resources, such as mysqli_query (resource identifier, SQL statement), and the parameter of the resource identifier is placed in front, while mysql_query (SQL statement,' The resource ID ') is optional and the default value is the last opened connection or resource.
2. mysqli (object mode):
$conn = new mysqli('localhost', 'user', 'password','data_base'); //要使用new操作符,最后一个参数是直接指定数据库 //假如构造时候不指定,那下一句需要$conn -> select_db('data_base')实现 $result = $conn -> query( 'select * from data_base' ); //执行sql语句 $row = $result -> fetch_row(); //取一行数据 echo = row[0]; //输出第一个字段的值
Using new mysqli('localhost', usenamer', 'password', 'databasename'); will report an error with the following prompt:
Fatal error: Class 'mysqli' not found in ...
Generally mysqli is not enabled because the mysqli class is not enabled by default. Under win, you need to change php.ini and remove php_mysqli.dll. Before;, mysqli must be compiled into Linux.
4. mysql_connect() and mysqli_connect()
Related recommendations:
php implements mysql (MySQL and MySQLi mode) operation class
Perfectly solve the implementation steps and error reporting of PHP installation extension mysqli
PHP connection database class based on MySQLI function
The above is the detailed content of The difference and usage of php database connection mysql and mysqli. For more information, please follow other related articles on the PHP Chinese website!