自分のホームネットワークにローカルWebサーバーを設定しました.Laspberry PiにLAMPを設定しました。私のPHPスクリプトを実行してMySQLデータベースに接続するとき、私はlocalhost
を使っています。今では私のホームネットワークの外にあるサーバーにアクセスするのが面倒なので、サーバーにアクセスするためのドメイン名を設定しました。 しかし、私のコードではまだlocalhost
を使ってMySQLデータベースにログインしています。だから私は自分のドメイン名に変更することにしました。そして、データベースが見つからないので、ログオンしていないと仮定しているため、データベースが選択されていないと仮定しています。URLへのPHPローカルホスト
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にアクセスしようとしていますか?それはあなたの質問の私の解釈でしたが、これまでの2つの答えはそうでないと仮定しています。 – MortimerCat
** deprecatedを使用して停止し、PHP7の削除** mysql_ *機能を使用します。 PDOに移行し、Prepared Statementの使用を開始します。 –
@MortimerCat MySQLがRpiでホストされているわけではありませんが、私はサーバ名を使う方が良いと思っていましたが、 'localhost'を使っても問題ないと思います。 – EoinScully