我在我的家庭网络上设置了一个本地Web服务器,在我的Raspberry Pi上设置了一个LAMP。在做我的PHP脚本并连接到MySQL数据库时,我一直在使用localhost
。现在我正忙于在家庭网络之外访问服务器,所以我设置了一个域名来访问服务器。 但我没有意识到的是我的代码仍然使用localhost
登录到MySQL数据库。所以我决定将其更改为我的域名,现在它声明数据库无法找到,所以我假设它没有登录,因此没有选择数据库。PHP本地主机到URL
php脚本:
<?php
//thermReading1.php
$servername = "myservername.com"; //example URL
$username = "user";
$password = "password";
$dbname = "database";
//create connection
$db_handle = mysql_connect($servername,$username,$password);
$db_found = mysql_select_db($dbname,$db_handle);
$thermID = "'T00'";
$userID = "'1'";
if($db_found)
{
$sql = "SELECT * FROM tblTempReading"
$result = mysql_query($sql);
while($db_field = mysql_fetch_assoc($result))
{
echo "<p>" . $db_field['temp'] . "°C</p>";
echo "<p>" . $db_field['tempTimeStamp'] . "</p>";
}
}
else
{
echo "<p>Database NOT Found</p>";
}//endif
mysql_close($db_handle);
?>
这是通过服务器,而不是localhost
登录到MySQL或将是防火墙问题一个问题(我已经设置了端口转发在我的路由器来访问服务器) ?
任何帮助表示赞赏,我是这个网络服务器的新东西。
您是否试图访问托管在与Raspberry Pi不同服务器上的MySQL?这是我对你的问题的解释,但到目前为止的两个答案都假设不然。 – MortimerCat
停止使用**弃用,并且从PHP7中删除了** mysql_ *函数。迁移到PDO并开始使用准备好的语句。 –
@MortimerCat没有MySQL托管在Rpi上,我认为使用服务器名称可能是更好的做法,但我认为可以认为使用'localhost' – EoinScully