php7配置mysqli并使用mysqli连接mysql
php7配置mysqli和使用mysqli连接mysql
如果使用了wamp和lamp环境搭建了php web一般不易遇到这样的问题:
php7 Class 'mysqli' not found in
但是最近学习php网络爬虫和数据处理的我,直接cmd使用了php7作为爬虫脚本
使用前请先配置path环境变量和vim
从官网下载的php7 windows版解释器没有开启很多扩展,也没有“php.ini”!
下载下来解压后的目录找到“php.ini-development”文件,这个文件是不起作用的!
php7仍然使用"php.ini"作为配置文件,所以将他复制一份副本,命名为"php.ini"
对php.ini进行修改
去除下面配置语句的注释";"
extension=php_mysqli.dll
这样仍然无法找到mysqli的类,还需要让php.exe能找到扩展文件
所有的默认扩展都在php目录下的ext目录下,php.ini中有一段配置,去掉注释";"
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "ext"
extension_dir上面有说明,在windows系统中,可以读取到的php扩展文件目标目录配置,去掉后,php会从ext目录下加载扩展文件,都是dll文件
接下来测试,新建一个test.php
如下连接查询数据库:
<?php
$con = new mysqli('localhost','root','','xiaohua');
if(!$con)
die("connect error:".mysqli_connect_error());
else
echo "success connect mysql\n";
$sql = "select distinct class_id from xiaohua_user";
$rs = $con->query($sql);
$c = array();
while($r = $rs->fetch_row()){
array_push($c,substr($r[0],0,4));
}
$c = array_unique($c);
$i=0;
$zy = array();
foreach($c as $row){
array_push($zy,$row);
}
print_r($zy);
$con->close();
?>