我刚刚编写了一个在我的本地服务器(xampp)上运行良好的网站。 以下是本地服务器的连接数据库定义:
<?php
$host="localhost";
$username="root";
$password="1234";
$db_name="partnership";
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
?>
我已经成功加载了我的文件并将它们放在远程服务器(www.mydomain.com)上,并且我创建了相关的数据库“伙伴关系”(成功地将所有表从phpMySQL本地服务器导入到远程服务器)。
我可以查看网站(www.mydomain.com),但没有与数据库(MySQL)的连接。 错误消息当然是“无法连接”。
我已将$host="localhost"
更改为$host=”www.mydomain.com”
,但仍会收到相同的错误消息。
对于上述问题的任何帮助将不胜感激。
答案 0 :(得分:2)
如果您尝试通过应用程序进行连接,是否仍然不能将localhost
用作$host
?该脚本与数据库位于同一服务器上。
答案 1 :(得分:0)
$host="127.0.0.1"; // "localhost" should work, but don't count on it
$username="user"; // username you use to log into phpMyAdmin
$password="password"; // password you use to log into phpMyAdmin
$db_name="dbname"; // database you want to connect to
您需要创建此用户/密码对,并为其授予访问数据库的相应权限。另请注意,不推荐使用mysql PHP函数,不应使用它们。 PDO或mysqli是未来的首选。
答案 2 :(得分:0)
如果您正在使用cPanel,那么当您创建MySQL表时,请确保将用户分配给它(琐碎,我知道,但我自己已经忘记了几次。)
如果您的脚本是从远程服务器运行的,请坚持使用localhost。工作正常。
最后,我的唯一建议是,直到找到更好的答案,尝试使用
$host = 'localhost';
$user = 'username'; // Im pretty sure your username isn't root.
$pass = '1234';
$db = 'partnership';
/* Alot of hosts like to append your cPanel login to your db and username fields.
Check to see what your table is. It might actually be 'youruser_partnership' */
$mysqli = new mysqli($host, $user , $pass, $db);
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
}
如果您的主机支持mysqli(大部分都支持)。如果没有,当您执行die语句时,仍然使用die(mysql_error());
来获取确切的错误。它很可能是您创建并分配给数据库的用户名/密码