gpt4 book ai didi

即使已连接,PHP 也无法选择数据库

转载 作者:搜寻专家 更新时间:2023-10-30 22:30:15 25 4
gpt4 key购买 nike

刚刚安装了 MAMP,正在学习 php 和连接到我的数据库。我似乎能够连接到 mysql,但无法连接或查看 phpMyAdmin 中的任何数据库。

这是我的 PHP 代码:

<?php

$user = 'root';
$password = 'root';
$db = 'test';
$host = 'localhost';

$link = mysqli_connect($host, $user, $password);

//newly editied
if ($link->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}

$db_selected = mysqli_select_db($db, $link);

if (!$db_selected) {
echo "did not connect";
}
?>

当我运行它时,我会看到“好”字样,所以我知道我正在连接,然后是“未连接”,所以它没有连接到我的数据库。

我也尝试过添加这段代码,但即使我创建了多个数据库,也没有任何回应。

$res = mysqli_query("SHOW DATABASES");

while ($row = mysqli_fetch_assoc($res)) {
echo $row['Database'] . "\n";
}

感谢任何帮助!

最佳答案

你检查连接状态的时候错了。

您使用:

if ($link) {
echo "good";
}

并且应该使用:

if ($link->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}

根据 PHP documentation , mysqli_connect() 将始终返回一个对象,因此它永远不会是 false

您还在 DB 选择上反转了参数 $db$link,并且考虑到您之前的代码使用了不正确的函数。应该是

$mysqli->select_db($db)

而不是:

$db_selected = mysqli_select_db($db, $link);

按正确的顺序实际上是:

$db_selected = mysqli_select_db($link, $db);

阅读 mysqli_select_db() PHP documentation有关正确使用的更多详细信息。

关于即使已连接,PHP 也无法选择数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45114759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com