警告:mysql_connect():( HY000 / 2002):拒绝连接 /home/vol14_1/byethost31.com/b31_16461744/htdocs/Mysql/con.php上线 7
警告:mysql_select_db():没有这样的文件或目录 /home/vol14_1/byethost31.com/b31_16461744/htdocs/Mysql/con.php上线 8
警告:mysql_select_db():无法链接到服务器 建立在 /home/vol14_1/byethost31.com/b31_16461744/htdocs/Mysql/con.php上线 8
我有以下代码
<?php
$localhost="localhost";
$username=b31_16461744;
$pass=test123;
$dbname=b31_16461744_user;
$a= mysqli_connect($localhost,$user,$pass);
mysql_select_db($dbname);
if($a)
{
echo "connected..";
}
else
{
echo "not...!!";
}
?>
答案 0 :(得分:3)
旁注:假设您的网络托管服务商提供的凭据正确无误。
此代码存在一些问题(取自您留下的评论)。
首先,您的三个声明未被引用,并被视为常量。
PHP错误报告会抛出未定义常量的通知。
这些被视为常量:
$username=b31_16461744;
$pass=test123;
$dbname=b31_16461744_user;
您还引用了$user
用户名为$username
的错误变量。错误报告会签署未定义的变量通知。
然后,您将mysql_
与mysqli_
语法混合。那些不同的MySQL API不会混用。您必须在整个代码中使用相同的代码。
旁注:您发布的另一个问题Access denied for user 'test123'@'192.168.0.38' (using password: NO)您正在使用sql306.byethost31.com
作为主持人。确保这是正确的。我不知道主持人希望您使用哪些设置。
<?php
$localhost="localhost";
$username="b31_16461744";
$pass="test123";
$dbname="b31_16461744_user";
$a= mysqli_connect($localhost, $username, $pass);
mysqli_select_db($a, $dbname);
if($a)
{
echo "connected..";
}
else
{
echo "not...!!";
}
?>
或只使用所有四个参数:
<?php
$localhost="localhost";
$username="b31_16461744";
$pass="test123";
$dbname="b31_16461744_user";
$a= mysqli_connect($localhost, $username, $pass, $dbname);
if($a)
{
echo "connected..";
}
else
{
echo "not...!!" . mysqli_error($a);
}
?>
但是,带有回声的else
对您没有帮助。使用mysqli_error()
来获取真正的错误。
即:or die("Error " . mysqli_error($a));
手册中的示例
$link = mysqli_connect("myhost","myuser","mypassw","mydb")
or die("Error " . mysqli_error($link));
参考文献:
将error reporting添加到文件的顶部,这有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:只应在暂存时进行显示错误,而不是生产