PHP连接MySQL-踩坑总结

写在前面


版本迭代,网上很多解决方法都失效了,在此记录一下。
版本:PHP7.4+MySQL8.0

PHP安装可参考:PHP安装配置(Windows和Linux)-一篇就够了
Apache安装可参考:Apache安装配置(Windows和Linux)-有手就行
在这里插入图片描述

mysqli扩展


Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in D:\tools\Apache24\htdocs\UIUE\index.php:6 Stack trace: #0 {main} thrown in

PHP7之后就移除了mysql扩展(可以自己打补丁 ),而是推荐使用mysqli扩展和pdo_mysql。

启用mysqli扩展:

  1. 在PHP安装目录下以记事本方式打开pgp.ini
    在这里插入图片描述

  2. 搜索extension=mysqli,去掉前面;
    在这里插入图片描述

  3. 搜索extension_dir,修改/ext所在位置
    在这里插入图片描述
    然后建议重启下Apache

  4. 测试

<?php
	phpinfo();
?>

在这里插入图片描述

插播反爬信息 )博主CSDN地址:https://wzlodq.blog.csdn.net/

MySQL权限


Warning: mysqli_connect(): (HY000/1045): Access denied for user ‘root’@‘localhost’ (using password: YES) in D:\tools\Apache24\htdocs\UIUE\index.php on line 6
Error: Unable to connect to MySQL. Debugging errno: 1045 Debugging error: Access denied for user ‘root’@‘localhost’ (using password: YES)

  1. 修改root密码
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '新密码';

在这里插入图片描述

  1. 授权
grant all privileges on *.* to root@localhost;
flush privileges;

在这里插入图片描述

测试


<?php
$servername = "localhost";
$username = "root";
$password = "password";//改成你的密码

$link = mysqli_connect($servername, $username, $password);

if (!$link) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

echo "Success: A proper connection to MySQL was made! The my_db database is great.\n" . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;

mysqli_close($link);
?>

在这里插入图片描述
至此PHP就成功连接MySQL了o(* ̄▽ ̄*)o,mysqli相关用法可查官方文档
在这里插入图片描述

原创不易,请勿转载本不富裕的访问量雪上加霜
博主首页:https://wzlodq.blog.csdn.net/
微信公众号:吾仄lo咚锵
如果文章对你有帮助,记得一键三连❤

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吾仄lo咚锵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值