PHP,无法连接到数据库

PHP,无法连接到数据库,php,Php,我无法连接到我的数据库,每当我尝试时,它都会给我这个错误 我试着连接到默认数据库,比如mysql,它工作得很好,就像图中所示 我正在使用最新版本的wamp server,如果需要,下面是代码: $servername = "localhost"; $username = "root"; $password = ""; $my_db="mydb"; $link=mysqli_connect($servername, $username, $password, $my_db); if (mys

我无法连接到我的数据库,每当我尝试时,它都会给我这个错误

我试着连接到默认数据库,比如mysql,它工作得很好,就像图中所示

我正在使用最新版本的wamp server,如果需要,下面是代码:

$servername = "localhost";
$username = "root";
$password = "";
$my_db="mydb";

$link=mysqli_connect($servername, $username, $password, $my_db);
if (mysqli_connect_error()) {
    die("there is an error");
} else {
    echo "connected to ".$my_db;
}

Wampserver 3.2.0新安装或升级

这可能会帮助其他人

可能
xamp
也使用
mariaDB
作为默认值

Wamp
服务器附带了
mariaDB
和mysql,并且在3306端口上默认安装了
mariaDB

让mysql正常工作

在安装时,它要求使用
mariaDB
MySql
,mariaDB被选中为默认值,您无法更改它,请选中
MySql
选项并安装

安装完成后,两者都将在默认端口上运行
mariaDB
,并在另一个端口上运行
mysql

右键单击
wamp
图标,其运行位置应位于右下角,转到工具并查看您的
mysql
运行端口

并包括在数据库连接中,如下所示:

$host = 'localhost';
$db   = 'test';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';
$port = '3308';

$dsn = "mysql:host=$host;dbname=$db;port=$port;charset=$charset";
$options = [
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES   => false,
];
try {
     $pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
     throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
注意:
我正在使用pdo


有关更多信息,请参见此处:

Wampserver 3.2.0新安装或升级

这可能会帮助其他人

可能
xamp
也使用
mariaDB
作为默认值

Wamp
服务器附带了
mariaDB
和mysql,并且在3306端口上默认安装了
mariaDB

让mysql正常工作

在安装时,它要求使用
mariaDB
MySql
,mariaDB被选中为默认值,您无法更改它,请选中
MySql
选项并安装

安装完成后,两者都将在默认端口上运行
mariaDB
,并在另一个端口上运行
mysql

右键单击
wamp
图标,其运行位置应位于右下角,转到工具并查看您的
mysql
运行端口

并包括在数据库连接中,如下所示:

$host = 'localhost';
$db   = 'test';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';
$port = '3308';

$dsn = "mysql:host=$host;dbname=$db;port=$port;charset=$charset";
$options = [
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES   => false,
];
try {
     $pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
     throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
注意:
我正在使用pdo


更多信息请参见此处:

请原谅这个明显的问题,但您是否真的有数据库而不是表,名为mydb?您是否创建了名为
mydb
?Dave:)的数据库以及用于正确连接的相同代码?请检查连接到mysql时检查错误的正确方法原谅这个明显的问题,但您是否真的有数据库,而不是表,名为mydb?您是否创建了一个名为
mydb
的数据库?您被原谅@Dave:)以及用于正确连接的相同代码?请检查连接到mysql时检查错误的正确方法