mysql与mysqli的区别:
Mysql and Mysqli(Mysql Improved) are two library functions ( or Extension) in the PHP which is used to acces mysql database.Mysqli is the improved version of mysql which support OOPS. The mysqli extension allows you to access the functionality provided by MySQL 4.1 and above.
mysql是非持继连接函数而mysqli是永远连接函数。
mysql每次链接都会打开一个连接的进程而mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销。
如果使用new mysqli('localhost', usenamer', 'password', 'databasename');总是报错,Fatal error: Class 'mysqli' not found in ...那么要检查一下mysqli是不是开启的。
mysqli类不是默认开启的,win下要改php.ini,去掉php_mysqli.dll前的;,linux下要把mysqli编译进去。
In relation to PHP programming language, MySQL is the old database driver, and MySQLi is the Improved driver.
MySQLi takes advantage of the newer features of MySQL 5. Lifted verbatim from the php.net site:
- Object-oriented interface
- Support for Prepared Statements
- Support for Multiple Statements
- Support for Transactions
- Enhanced debugging capabilities
- Embedded server support
You have the choice of using mysql, mysqli, or PDO essentially.
If you're simply looking for a relational database, you need look no further than MySQL, though there are many options available. You can use DBD, Postgres, MySQL, MSSQL, sqlite, etc etc etc...
HTH
Source(s):
http://www.php.net/manual/en/mysqli.over…
mysqli的用法:
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
mysql的用法:
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
在处理中文乱码问题时,在$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');之后设置连接字符集:
mysql_query("set names utf8");
注意:不能写成utf-8。
设置所操作的数据库:
mysql_select_db("my_db");
而使用mysqli时,数据库名是作为mysqli构造方法的一个参数,所以这时设置连接字符集不起作用。