php與MySQL連接沒法使用mysqli擴展問題
問題描述
$link=@mysqli_connect('localhost','root','root')|| die('數據庫連接錯誤');
//這一步可以實現連接
$sql='set names utf8';
$result=mysqli_query($link,$sql);
var_dump($result);
//這一步沒法使用mysqli擴展,出現警告:Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in D:360DownloadsSoftwarephpStudyWWWlink.php on line 13NULL
PHP版本為php-5.4.45,相應的php.ini文件也已修改添加,在phpinfo.php里可以找到mysqli
使用的itsource數據庫中有兩個表,一個students,一個classes,表里均有兩條數據
mysql> select * from classes;
+------+-----------+-----------+
| id | classname | classroom |
+------+-----------+-----------+
| NULL | php2019 | 417 |
| 2 | html52018 | 520 |
+------+-----------+-----------+
2 rows in set (0.00 sec)
mysql> select * from student;
+------+----------+------+
| id | username | age |
+------+----------+------+
| NULL | 張三 | 24 |
| 2 | 王五 | 20 |
+------+----------+------+
2 rows in set (0.00 sec)
請問是什么情況造成的?
問題解答
回答1:可能是php版本高了的問題
回答2:第一步 打開你放置php的文件夾會看到一個文件夾叫做ext,這個文件夾中保存了php的各種擴展就包括mysqli擴展(你查看ext文件夾中是否有php_mysqli.dll文件,如果沒有請去php官網下載php),如果有就用編輯器打開php目錄下的php.ini(這個是是Php的配置文件,是復制的php.ini-develoment文件,然后重命名為php.ini) 用編輯器打開后查找;extension=php_mysqli.dll(文件中只會找到一個)然后把開始的;(分號)去掉,使擴展生效。(如果要開啟其他擴展也是搜索;extension=***去掉前面的;(分號)使其生效即可) 注意注意?。。。。。?!如果ext文件夾中有php_mysqli.dll擴展,而配置文件php.ini中找 不到;extension=php_mysqli.dll可以手動添加(注意不要帶分號),如果還不行就下載一個新的php
所有配置更改完都需要重啟apache使配置生效,重啟的方法是,windows + r,然后輸入services,msc 在控制中找到apache服務重啟即可
第二步 第一步只是制定了php擴展的文件名,沒有指定擴展文件所在的路徑。當extension_dir中已經指定擴展路徑時,可以省略路徑只填文件名,否則需要填寫完整的文件路徑。因此需要在php.ini中搜索文本extension_dir,找到下面一行配置。
;extension_dir = “ext"
將這行配置的;(分號)取消,并修改成php擴展的文件保存路徑,具體如下:
extension_dir = "e/web/php/ext"
最后可以編寫一個phpinfo() 函數,查看是否有mysqli擴展
相關文章:
1. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””2. android studio總是在processes running好久3. docker不顯示端口映射呢?4. macos - mac下docker如何設置代理5. MySQL數據庫中文亂碼的原因6. java - 請問在main方法中寫成對象名.屬性()并賦值,與直接參參數賦值輸錯誤是什么原因?7. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?8. angular.js - 關于$apply()9. docker-compose 為何找不到配置文件?10. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下
