本文目录一览:
- 1、php不支持mysqli,有什么办法生成mysqli.so,该怎么处理
- 2、php怎么用mysqli链接数据库和输出sql
- 3、php找不到mysqli类
- 4、如何在php中扩展mysqli插件。
- 5、php中不能运用mysqli函数,php.ini中已经配置了,但是用不了mysqli
php不支持mysqli,有什么办法生成mysqli.so,该怎么处理
1、进入php源码包里找到pcntl扩展目录
[root@php ~]# cd ./php-5.6.7/ext/mysqli/
2、用phpize生成配置文件
[root@php pcntl]# phpize
[root@php pcntl]# ./configure
3、make make install安装
[root@php no-debug-non-zts-20131226]# ls
bcmath.so gd.so opcache.a mysqli.so
calendar.so mcrypt.so opcache.so pdo_mysql.so
curl.so memcache.so openssl.so posix.so
4、php.ini配置加载mysqli.so扩展
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/mysqli.so
5、重启php-fpm,浏览器查看phpinfo.
php怎么用mysqli链接数据库和输出sql
一、mysql与mysqli的概念相关:
1、mysql与mysqli都是php方面的函数集,与
mysql数据库
关联不大。
2、在
php5
版本之前,一般是用php的
mysql函数
去驱动mysql数据库的,比如mysql_query()的函数,属于
面向过程
3、在php5版本以后,增加了mysqli的函数功能,某种意义上讲,它是mysql系统函数的增强版,更稳定更高效更安全,与mysql_query()对应的有mysqli_query(),属于面向对象,用对象的方式操作驱动mysql数据库
二、mysql与mysqli的区别:
1、mysql是非持继连接函数,mysql每次链接都会打开一个连接的进程。
2、mysqli是永远连接函数,mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销。mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。
三、mysql与mysqli的用法:
1:mysql(过程方式):
$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以过程式的方式操作,有些函数必须指定资源,比如mysqli_query(资源标识,
SQL语句
),并且资源标识的参数是放在前面的,而mysql_query(SQL语句,'资源标识')的资源标识是可选的,默认值是上一个打开的连接或资源。
2、mysqli(对象方式):
$conn
=
new
mysqli('localhost',
'user',
'password','data_base');//要使用new
操作符
,最后一个参数是直接指定数据库//假如构造时候不指定,那下一句需要$conn
-
select_db('data_base')实现$result
=
$conn
-
query(
'select
*
from
data_base'
);$row
=
$result
-
fetch_row();
//取一行数据echo
row[0];
//输出第一个字段的值
使用new
mysqli('localhost',
usenamer',
'password',
'databasename');会报错,提示如下:
Fatal
error:
Class
'mysqli'
not
found
in
...
一般是mysqli是没有开启的,因为mysqli类不是
默认开启
的,win下要改php.ini,去掉php_mysqli.dll前的;,linux下要把mysqli编译进去。
四、mysql_connect()与mysqli_connect()
1.使用mysqli,可以把数据库名称当作参数传给mysqli_connect()函数,也可以传递给mysqli的
构造函数
;
2.如果调用mysqli_query()或mysqli的对象查询query()方法,则连接标识是必需的。
php找不到mysqli类
1.进行?php phpinfo();?
2.检查mysqli选项;如果没有的话,打开php.ini,找到";extension=php_mysqli.dll",将前面的";"去掉
3.保存
如何在php中扩展mysqli插件。
Mysqli是php5之后才有的功能,没有开启扩展的可以打开php.ini的配置文件
查找下面的语句:;extension=php_mysqli.dll将其修改为:extension=php_mysqli.dll即可。
相对于mysql有很多新的特性和优势
(1)支持本地绑定、准备(prepare)等语法
(2)执行sql语句的错误代码
(3)同时执行多个sql
(4)另外提供了面向对象的调用接口的方法。
php中不能运用mysqli函数,php.ini中已经配置了,但是用不了mysqli
1. 通过使用 phpinfo()函数可以查看 mysqli 的工作情况。
2. Warning: mysqli::mysqli() [mysqli.mysqli]: (28000/1045): Access denied for user 'root'@'localhost' (using password: YES)
从这句错误提示来看,我建议你查看下,是不是mysql数据库用户名跟密码不正确导致的。