$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:\360Downloads\Software\phpStudy\WWW\link.php on line 13
NULL
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)
请问是什么情况造成的?
秋香姐家的小书童2019-03-31 11:28:39
第一步 打开你放置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扩展