本文目錄一覽:
- 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資料庫用戶名跟密碼不正確導致的。
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129477.html