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构造方法的一个参数,所以这时设置连接字符集不起作用。
问题:
phpmyadmin运行时,缺少 mysqli 扩展。请检查 PHP 配置。
解决办法:
下载与php版本相同的源码包。
注意:php、mysql都是yum安装的,否则请找到php-config 和 mysql_config。
例如:
cd php-5.2.17/ext/mysqli/
/usr/bin/phpize #会在当前目录下生成configure配置文件
./configure –with-php-config=/usr/bin/php-config –with-mysqli=/usr/bin/mysql_config
make
make install
以上无错的话,则可以在/usr/lib64/php/modules/下找到mysqli.so,然后在php.ini中添加:
extension=mysqli.so
然后,重新启动httpd服务即可。
wamp安装的是wampserver(wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-32b.exe) PHP是5.4的。
安装完毕后,运行phpmyadmin时,出现错误提示:缺少 mysqli 扩展。请检查 PHP 配置。
如下图:
这里分享一个不错的解决方法:
步骤:
打开php.ini,找到;extension=php_mysqli.dll把前面的分号“;”去掉,改为extension=php_mysqli.dll
找到;extension_dir=”./ext”把前面的分号“;”去掉,改为extension_dir=”d:/wamp/bin/php/php5.4.3/ext/”
重启wampserver。
wamp软件默认打开为http://localhost/phpmyadmin/,试了一下http://127.0.0.1/phpmyadmin/。
于是,打开phpmyadmin的配置文件D:\wamp\alias\phpmyadmin.conf 把Allow from 127.0.0.1 改成Allow from 127.0.0.1 localhost。
原来phpmyadmin的设置中只允许从127.0.0.1打开,于是,问题轻松解决了。
希望以上的方法,可以帮你解决了同样的问题,祝你成功。
您可能感兴趣的文章:
phpMyAdmin导入和恢复大容量sql文件的方法
phpmyadmin安装出错,缺少mysqli扩展的几种解决方法
phpMyAdmin无法载入 mysqli 扩展,请检查 PHP 配置的解决方法
解决:phpmyadmin缺少 mysqli 扩展。请检查 PHP 配置的问题
MySQL与phpMyAdmin中文乱码的解决方法
解决Phpmyadmin导入导出时中文乱码的问题
phpmyadmin偶尔响应慢的问题的解决方法
php导入phpmyadmin导出的sql的实现代码
phpmyadmin 不能导入大SQL文件的解决方法
phpmyadmin导入大数据库文件时问题的解决方法