包含数据库连接错误的php文件
我想要一个包含所有数据库信息(数据库名、主机、用户名、密码)的通用php文件 但是,当我在like index.php中包含页面时,我会出现以下错误: 拒绝用户“apache”@“localhost”的访问(使用密码:否) connect.php包含数据库连接错误的php文件,php,mysql,Php,Mysql,我想要一个包含所有数据库信息(数据库名、主机、用户名、密码)的通用php文件 但是,当我在like index.php中包含页面时,我会出现以下错误: 拒绝用户“apache”@“localhost”的访问(使用密码:否) connect.php <?php class dbconnect{ private $host = '**'; private $user = '**'; private $pass = '**'; public $con; fun
<?php
class dbconnect{
private $host = '**';
private $user = '**';
private $pass = '**';
public $con;
function Connect($db = '**') {
if($db=='**'){
$this->host="localhost";
$this->user="**";
$this->pass="**";
$db="**";
}else{
$this->host="**";
$this->user="**";
$this->pass="**";
}
$this->con = mysql_connect($this->host,$this->user,$this->pass);
if (!$this->con)
{
die('Could not connect: ' . mysql_error());
}
$blaa = mysql_select_db($db, $this->con);
mysql_query("SET NAMES UTF8");
return $blaa;
}
function Disconnect() {
//$this->con = mysql_connect($this->host,$this->user,$this->pass);
mysql_close();
}
}
?>
在index.php中,它可以工作如果连接信息正确,请检查MySQL用户的主机访问权限:
SELECT user, host FROM mysql.user
如果设置了“localhost”,则用户只能在本地访问数据库,否则“%”将打开access。通常这是连接凭据的问题 检查您是否可以使用为该网站设置的详细信息登录mysql mysql-u apache-p 然后它会询问您密码
如果该登录不起作用,则该用户的mysql帐户有问题。您使用了不正确的参数进行访问。只需转储行
$this->con=mysql\u connect($this->host,$this->user,$this->pass)上的变量代码>。您可以使用调试器或echo,打印指令
此外,使用PDO扩展访问数据库。好多了!
需要注意的是,您的测试用例实际上并不能证明它是有效的
这个输出是什么:
$conn = mysql_connect("example.com", "user", "password");
if (!$conn) {
die('Could not connect: ' . mysql_error());
}
因为如果没有这些,你不一定能得到失败的信息
最重要的是,为了便于调试,让我们稍微简化一下类:
现在你做了什么
$db = new dbconnect("example.com", "user", "password");
请确保您使用的是有效的凭据,并且没有遇到诸如默认值或通过这些方法分配的变量不正确之类的问题
现在,如果您不想提供这些值,您可以简单地:
$db = new dbconnect();
公共服务公告
查看PHP或至少(但实际上,只需使用PDO)的替代方案。PHP的mysql扩展不安全,您永远不应该在任何环境中使用它。您确定要重新提出一个超过五年的问题吗?;)哎呀。对不起,伙计:)该死。没有意识到这是一次复兴,我完全写了一个回复。哈哈,小崽子。
$db = new dbconnect("example.com", "user", "password");
$db = new dbconnect();