通过php代码连接到数据库
我正在用PHP编写一个游戏,并使用以下代码连接到数据库通过php代码连接到数据库,php,mysql,Php,Mysql,我正在用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 (
//$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数据库;当我将代码上传到服务器时,我会注释掉localhost代码
不幸的是,无法识别的情况发生了,我上传了错误连接的代码,并将其注释掉;这导致24小时的客户被拒之门外!:(
有没有办法让代码知道它是否在本地主机服务器上,如果不是,那么它会查找godaddy连接?我通常使用一种方法来获取站点的URL/域?这在某些情况下和设置下可以工作。否则,如果您使用的是固定IP,您也可以使用这种方法 查看一下使用$\u服务器的方法
我通常使用一种方法来获取网站的URL/域?这在某些情况下和设置下可以工作。否则,如果您使用的是固定IP,您也可以使用这种方法 查看一下使用$\u服务器的方法
一种方法是检查外部IP地址并查看您所在的位置。解决方案应通过查看
$\u服务器
全局变量内的属性来显示自身。一种方法是检查外部IP地址并查看您所在的位置。解决方案应通过查看适当的在$\u服务器中绑定全局变量。我有一个很好的建议:你编写一个游戏,游戏是一个大程序,你不要在大程序中直接使用mysql*函数,因为你自己应该处理它们,比如错误处理。我建议你使用DB处理程序。请谷歌搜索:DB处理程序PHP我有一个很好的建议:你编写一个游戏,游戏是一个大程序,你不能在大程序中直接使用mysql*函数,因为你自己应该处理它们,比如错误处理。我建议你使用DB处理程序。请谷歌搜索:DB处理程序PHP你可以试着确定它是在live上还是在localhost上
if ($_SERVER['SERVER_NAME'] == 'the.name.of.your.devel.server') {
$host = 'localhost';
} else {
$host = 'name.of.godaddy.server';
}
$sqldb = mysql_connect($host, ....);
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.您可以尝试此操作,以确定其是否在live或localhost上
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。正如其他人所提到的,您可以使用$\u服务器
变量获取脚本正在运行的当前站点。不过,我想提供另一种解决方案
您可以在网站(本地和生产)中创建一个文件夹,类似于config
,然后在其中存储一个配置文件,例如config.php
,其中包含以下内容:
<?php
// Local
$db_host = 'localhost';
$db_username = 'root';
$db_password = 'mypassword';
?>
<?php
require_once($_SERVER["DOCUMENT_ROOT"] . "/config/config.php");
$sqldb=mysql_connect($db_host, $db_username, $db_password) OR die ('Unable to connect to database! Please try again later.');
?>
然后,在PHP代码中执行以下操作:
<?php
// Local
$db_host = 'localhost';
$db_username = 'root';
$db_password = 'mypassword';
?>
<?php
require_once($_SERVER["DOCUMENT_ROOT"] . "/config/config.php");
$sqldb=mysql_connect($db_host, $db_username, $db_password) OR die ('Unable to connect to database! Please try again later.');
?>
现在,只需将不同的配置文件放在它们所在的位置,然后上载其他所有内容,这样,您的代码在运行时就可以访问不同的配置文件
此外,.htaccess
文件应防止任何人通过HTTP访问该文件,并且在PHP标记中包含文件内容,以及.PHP扩展名应防止任何人在能够访问该文件时看到任何内容(PHP将在呈现该文件之前解析该文件,并且不会输出任何内容).正如其他人提到的,您可以使用$\u SERVER
变量获取脚本运行的当前站点。但是,我想提供一个替代解决方案
您可以在网站(本地和生产)中创建一个文件夹,类似于config
,然后在其中存储一个配置文件,例如config.php
,其中包含以下内容:
<?php
// Local
$db_host = 'localhost';
$db_username = 'root';
$db_password = 'mypassword';
?>
<?php
require_once($_SERVER["DOCUMENT_ROOT"] . "/config/config.php");
$sqldb=mysql_connect($db_host, $db_username, $db_password) OR die ('Unable to connect to database! Please try again later.');
?>
然后,在PHP代码中执行以下操作:
<?php
// Local
$db_host = 'localhost';
$db_username = 'root';
$db_password = 'mypassword';
?>
<?php
require_once($_SERVER["DOCUMENT_ROOT"] . "/config/config.php");
$sqldb=mysql_connect($db_host, $db_username, $db_password) OR die ('Unable to connect to database! Please try again later.');
?>
现在,只需将不同的配置文件放在它们所在的位置,然后上载其他所有内容,这样,您的代码在运行时就可以访问不同的配置文件
此外,.htaccess
文件应防止任何人通过HTTP访问该文件,并且在PHP标记中包含文件内容,以及.PHP扩展名应防止任何人在能够访问该文件时看到任何内容(PHP将在呈现该文件之前解析该文件,并且不会输出任何内容)