【问题标题】:Not just another can't connect php to mysql不只是另一个无法将php连接到mysql
【发布时间】:2014-09-26 11:31:04
【问题描述】:

PHP MySQL 未连接...以下是规格: Apache/2.2.15 (Unix) mysql Ver 14.14 Distrib 5.5.39,适用于 Linux (x86_64),使用 readline 5.1 PHP 5.4.33 (cli) 此版本的 php-mysql 已加载。

简报: 这是全新的 Lamp 安装。 我可以使用 SSH 命令连接到数据库。 我尝试连接的用户拥有我要连接的数据库的所有权限。 使用来自 SSH 的用户密码使用 SSH 登录可以正常工作。我可以访问数据库并从表中进行选择。

当我尝试从 PHP 连接时,我无法登录到数据库。

附加信息: 没有指向服务器的域。我在 apache 中有一个虚拟主机设置,我正在使用我的本地主机文件充当 DNS 来访问服务器。

有什么想法吗?

添加:

 <?PHP
 $mysqli = new mysqli("localhost", "myuser", "mypassword", "mydatabase");
 if ($mysqli->connect_errno) {
     echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
 }
 ?>

【问题讨论】:

  • 这可能已经被“询问和回答”了——见stackoverflow.com/questions/309615/…
  • 提供您尝试过的代码。
  • 阅读并尝试了每个堆栈溢出答案。大多数都与展示如何设置 php-mysql 有关,这一次我已经做过很多次了。另一个只是 PHP 的基本连接信息。
  • 不清楚的是您是从 与 MySQL 服务在同一台机器上 还是从 远程机器 连接 PHP。 MySQL 使用用户和主机的组合来识别用户,因此就 GRANT 而言,user@localhostuser@some.remote.ip 不同。你提到你的本地主机文件让我觉得你是从远程服务器连接的。
  • 错误怎么办?是在呼应什么吗?

标签: php mysql apache redhat


【解决方案1】:

先试试这个

<?php
$con = mysqli_connect("localhost", "myuser", "mypassword", "mydatabase");

// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
?>

如果上面的代码不起作用,那么 尝试使用PDO进行连接

<?php
        $db_host="localhost";
        $db_pass='mypassword'; 
        $db_username="myuser";
        $db_name="mydatabase";
        $db = new PDO('mysql:host='.$db_host.';dbname='.$db_name,$db_username,$db_pass);
        echo "Connected successfully";
?>

希望这会奏效。 :)

【讨论】:

    猜你喜欢
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    • 2015-08-04
    • 2015-01-22
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多