Php can';在我的sql中无法连接到db

Php can';在我的sql中无法连接到db,php,mysql,Php,Mysql,我正在使用mac上的mamp连接到本地主机,我可以成功连接到服务器,但问题是我无法连接到db,我不知道我在查询的哪一部分出错,因为它只是一行查询。我也在这里搜索了不同的堆栈溢出解决方案,但它们没有帮助 $username = 'root'; $password = 'root'; $host = 'localhost'; $database = 'trendnow'; $link = mysqli_connect($host, $username, $password); if (!

我正在使用mac上的mamp连接到本地主机,我可以成功连接到服务器,但问题是我无法连接到db,我不知道我在查询的哪一部分出错,因为它只是一行查询。我也在这里搜索了不同的堆栈溢出解决方案,但它们没有帮助

$username = 'root';
$password = 'root';
$host     = 'localhost';
$database = 'trendnow';
$link = mysqli_connect($host, $username, $password);


if (!$link) {
echo 'can not connect to the server';
}
$db_selected = mysqli_select_db($database,$link);
echo $db_selected;
if (!$db_selected) {


echo 'Can not connect to trend now ';
}

费利佩·杜阿尔特是正确的。您试图连接的数据库是什么

mysqli_connect("localhost","my_user","my_password","my_db");
  • Localhost表示连接到运行程序的服务器。有时人们会连接到位于非本地服务器上的数据库,因此这有时是一个IP地址
  • my_db是数据库的名称。因此,如果您的数据库名为WebStore,则数据库中可能有一个名为computers的表。WebStore将是数据库的名称,必须位于最后一部分,如:
    mysqli_connect(“localhost”、“my_user”、“my_password”、“WebStore”)
这里有一个教程可能会有所帮助。


获取有用的错误消息

独立连接的问题是,如果出现错误,它不会告诉您是什么。谢天谢地,有几种方法可以找出错误所在

<?php    
$con = mysqli_connect("localhost","my_user","my_password","my_db");

//This will check if we were able to start up a connection using the above line
if (mysqli_connect_errno())
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// This is an example query. We will check if it failed, and if so, why it failed
// Perform a query, check for error
if (!mysqli_query($con,"INSERT INTO Persons (FirstName) VALUES ('Glenn')"))
{
  echo("Error description: " . mysqli_error($con));
}

?>

Hi
mysqli\u connect
需要4个参数。您正在混合使用
mysql
mysqli
。如果连接或查询不起作用,请始终尝试调试它。MySQLi有相应的函数,因此要检查连接,请使用此

$link = mysqli_connect($host, $username, $password,$database) or print_r(mysqli_connect_error());
要检查查询,请使用以下命令

$result = mysqli_query($link,"your query") or print_r(mysqli_error($link));


查看代码第1行中的错误。

如果要使用root作为用户名,则必须将密码保留为空。

使用
mysqli\u connect($host、$username、$password、$database)
。还有,您得到了什么错误/输出?这个查询是用于连接数据库还是仅用于连接服务器?这是Fepippe@FelippeDuarteUse
mysqli\u connect\u error
的问题,并告诉我们真正的错误消息是什么。您的自定义错误消息无助于找到问题的原因。您没有进行任何错误检查。这应该是你所需要的一切我使用了这个查询,但什么也没有发生,页面保持空白我应该使用我的ip地址而不是localhost吗???@ArslanAliAwan我已经回答了试着调试一下。同时写入错误报告(1);ini设置(“显示错误”,1);在你的头上page@ArslanAliAwan,我更新了我的答案。它将帮助您检索错误消息。如果您正在构建的网站与数据库位于同一台机器/服务器/计算机上,那么您应该使用localhost。隐藏IP地址是一种更安全的方法。如果你想尝试使用你的IP地址,那就千方百计去吧。它不应该阻止它工作。@ArslanAliAwan您如何调用此连接?你是否在某个地方建立了一个网站,而这个网站位于你正在访问的.php文件中?这并不完全正确。您可以将四个参数传递给connect函数,但也可以像OP一样,使用三个参数分别选择一个数据库,但这些参数在OPs代码中的顺序是错误的。
error_reporting(-1);