我正在用 PHP 编写游戏,并使用以下代码连接到数据库
//$sqldb=mysql_connect('godaddy.hostedresource.com', 'godaddyUserName', 'godaddyPassword') OR die ('Unable to connect to database! Please try again later.');
$sqldb=mysql_connect('localhost', 'root', 'mypassword') OR die ('Unable to connect to database! Please try again later.');
这里的技巧是,如果我在生产服务器上,我会注释掉 godaddy 数据库;当我将代码上传到服务器时,我会改为注释掉本地主机代码。
不幸的是,不可避免的事情发生了,我上传了代码,错误的连接被注释掉了;这导致客户 24 小时无法进入! :(
有没有办法让代码判断它是否在本地主机服务器上,如果不在,则寻找 godaddy 连接?
最佳答案
你可以试试这个来确定它是在现场还是本地
if($_SERVER["SERVER_NAME"] == "localhost"
&&
$_SERVER["SERVER_ADDR"] == "127.0.0.1"){
// in localhost
$hostname = "localhost";
$username = "localuser";
$password = "localpassword";
}else{
// not in localhost
$hostname = "livehost";
$username = "liveuser";
$password = "livepassword";
}
如果无法连接到数据库则失败,但将错误保存到文件中。
if(!mysql_connect($hostname,$username,$password)){
file_put_contents("mysql_connect.error",mysql_error(),FILE_APPEND);
die("Couldn't connect to database");
}
一个建议,尽量不要再用mysql_*了,改用PDO或者mysqli..
关于php - 通过php代码连接数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11589803/