Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我可以使用localhost连接到托管的网站数据库?_Php_Mysql - Fatal编程技术网

Php 为什么我可以使用localhost连接到托管的网站数据库?

Php 为什么我可以使用localhost连接到托管的网站数据库?,php,mysql,Php,Mysql,这可能是一个愚蠢的问题,但如果我的站点是用rackspace托管的,为什么我要使用本地主机呢 $db_host = "localhost"; $db_username = "*****"; $db_pass = "********"; $db_name = "lds"; $link = mysql_connect('localhost','*****','*********'); if (!$link) { die('Could not connect: ' . my

这可能是一个愚蠢的问题,但如果我的站点是用rackspace托管的,为什么我要使用本地主机呢

$db_host = "localhost";
$db_username = "*****";
$db_pass = "********";
$db_name = "lds";


$link = mysql_connect('localhost','*****','*********');
    if (!$link) {
        die('Could not connect: ' . mysql_error());
    }
echo 'Connected successfully';
mysql_close($link);
它似乎正在获得连接,因为我正在成功回显“已成功连接”

可能是出了严重的问题,因为当我从mysql\u connect函数和db\u host变量中取出localhost时,我注意到了。。。它仍然说连接成功

这是不是因为我已经在IDE中连接了ftp连接


任何帮助都将不胜感激。提前感谢。

您的数据库服务器正在远程计算机本地运行,您正在远程计算机上执行PHP脚本。在脚本中,数据库似乎是
localhost
,即使web服务器和数据库服务器相对于您是远程的

根据以下文件:

如果PHP指令mysql.default\u host未定义(默认),则 默认值为“localhost:3306”

这似乎表明,如果没有为数据库服务器提供值,则使用默认值。还请注意,文档中还指出,此函数在PHP5.5.0中已弃用


相反,请参见:和

只要您的php we服务器和MySQL数据库服务器在同一台机器上,localhost将工作

php(和您的数据库)将在远程服务器上运行,因此从主机(Rackspace)的角度来看,它是
localhost
。。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,谢谢大家的帮助。。还有一个简单的问题。。。因此,如果我决定使用mysqli或pdo,我是否必须将mysql db表重置为不同的规范?@cookinggood如果您想轻松上路,请将
mysql\uuu
更改为
mysqli\u
,但如果您想从良好的编码习惯开始,使用类创建指向
mysqli
PDO
的链接:
$db=new mysqli()
并进行类似
$db->connect()
(无论您使用哪个系统)的查询。谢谢,如果我决定使用mysqli或pdo,我是否必须将mysql db表重置为一些不同的规范?