【问题标题】:connection to database failed from php file to phpmyadmin?从 php 文件到 phpmyadmin 的数据库连接失败?
【发布时间】:2016-08-03 20:37:34
【问题描述】:

我正在尝试运行一个旧项目,我现在不得不再次使用它。现在,以前它工作得很好。但现在由于某种原因,它无法连接到 phpmyadmin 的 localhost 数据库。

我现在只想让连接正常工作。 xampp 在默认端口上同时运行 APache 和 MySQL,所以这些都很好。事实上,我知道它们是因为我打开了一个不同的项目并且它能够很好地连接。

基本上这是我的 php 文件中尝试连接到数据库的部分:

<?php
	//DataBase
	
	if ( !( $database = mysqli_connect( "localhost", "root", "" ) ) )
      die( "<p>Connection to DataBase failed!</p>" );

?>

当我在 chrome 中运行文件(使用 notepad++)时,我首先得到这个错误:

与数据库的连接失败! "); 如果(!mysqli_select_db( $database,"courseregisteration" ) ) die(" 数据库打开失败!

现在数据库当然不会打开,因为连接没有建立!

所以我不知道为什么它没有连接。我没有密码,所以这些参数是典型的默认参数。

请帮忙?

【问题讨论】:

  • 我不确定它是否可以在没有密码的情况下使用,请尝试添加密码并相应地使用它?
  • @Charle Steynberg 我的朋友今天在没有密码的情况下在他的计算机上尝试了它并且连接正常
  • 我认为您应该在 mysqli_connect 中将数据库名称作为参数提供,不是吗!查看本手册php.net/manual/en/function.mysqli-connect.php
  • @Rmidi Ayoub 但我的第二个功能就是这样做的。我没有在代码 sn-p 中发布它,但您实际上可以在我遇到的错误中看到它。另外,我还尝试在其他参数中包含 dB 名称,但它仍然不起作用。如前所述,我的朋友在没有更改文件的情况下尝试了它,并且连接对他来说很好。

标签: php mysql database xampp


【解决方案1】:

尝试将连接代码更改为面向对象的连接:

<?php
$mysqli = new mysqli("localhost","root","","my_db");

// Check connection
if ($mysqli -> connect_errno) {
  echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
  exit();
}
?> 

【讨论】:

    【解决方案2】:

    试试这个:

        <?php
     //create connection
     $connect=mysqli_connect('localhost','root','12345','company');
    
    //check connection
     if(mysqli_connect_errno($connect))
     {
        echo 'Failed to connect to database: '.mysqli_connect_error();
    }
    else
        echo 'Connected Successfully!!';
    ?>
    

    在上面的代码中,我们将 .php 页面连接到数据库。

    使用 mysqli_connect() 方法创建连接。 传递给 mysqli_connect() 函数的参数是主机名、phpmyadmin 用户名、phpmyadmin 密码和数据库名称。

    此连接字符串存储在名为 $connect 的变量中。 接下来我们首先要检查我们是否成功连接到数据库。 为此,我们使用 if-else 条件语句。 函数 mysqli_connect_errno($connect) 检查连接字符串中是否有任何错误。如果有任何错误,它将返回true,否则返回false。 如果有任何错误,会通过 if 块中的 echo 语句显示,否则连接成功!将显示消息。 函数 mysqli_connect_error() 函数用于显示系统错误消息。 只需打开浏览器并运行 connect.php。 您将获得以下输出:“连接成功”。

    【讨论】:

    • 我没有得到空白页。也不是错误。我得到的只是一个显示 php 代码的页面
    • 您可以使用 CMD 命令找到正在使用该端口的应用程序:netstat -ano | findstr 3306,这样我们就可以判断是不是MYSQL的端口冲突了?
    【解决方案3】:

    试试这个,但要在单独的 .php 连接上进行

    <?php
    $hostname = "locahost";
    $database = "your db";
    $username = "root";
    $password = "";
    
    $db mysql_pconnect($hostname, $username, $password)or trigger_error(mysql_error(),E_USER_ERROR);
    mysql_select_db($database,$db);
    session_start();
    
    $qry = "YOUR QUERY HERE";
    $result = mysql_query($qr);
    while($qry = mysql_fetch_array($result))
    }
    //some code here
    {
    ?>
    

    【讨论】:

    • 请问您所说的单独的 .PHP 连接是什么意思?您的意思是在新文件中?
    • @goldensunplayer 是的,例如。您有一个 HTML 文件,并且想要连接到 PHP。您必须有一个扩展名为 .php 的新文件,例如“connection.php”。
    • 其实这个文件已经在.PHP扩展中了
    • 然后使用我提供的那个答案,然后将它连接到html中,例如在一个
      中,你可以使用这个
      form> 你试过了吗?
    • 这有点复杂。它对我的朋友有用,以前也对我有用,没有所有这些复杂性。我要试试你的代码,看看会发生什么
    猜你喜欢
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    • 1970-01-01
    • 2021-07-14
    • 2013-07-04
    • 2016-08-17
    相关资源
    最近更新 更多