版本迭代,网上很多解决方法都失效了,在此记录一下。 版本:PHP7.4+MySQL8.0
PHP安装可参考:PHP安装配置(Windows和Linux)-一篇就够了 Apache安装可参考:Apache安装配置(Windows和Linux)-有手就行
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扩展:
extension=mysqli
,去掉前面;
extension_dir
,修改/ext所在位置
然后建议重启下Apache
<?php
phpinfo();
?>
(
插播反爬信息)博主CSDN地址:https://wzlodq.blog.csdn.net/
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)
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '新密码';
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相关用法可查官方文档。