我正在用Phonegap進行我的第一個實驗。我想構建一個從MySql服務器檢索數據的應用程序,但似乎問題在於我無法連接到我的dB。Phonegap。無法訪問遠程mysql數據庫
當我建立網站很容易。我使用PHP和下面的代碼:
$conn = new mysqli($servername, $username, $password);
其中$servername
是localhost
但隨着PhoneGap的localhost
會當然不是工作,所以我必須使用hostname
或IP address
。
這就是問題所在。我有一個IP的VPS和主機名,假設,vps.my-domain.com。兩者都不會讓我訪問MySql數據庫,我不明白爲什麼。
下列串報告:
'SQLSTATE [HY000] [2005]未知MySQL服務器主機 'vps.my-domain.com:3306'(20)'
$conn = new mysqli("xxx.yy.kkk.qqq", $username, $password);
$conn = new mysqli("vps.my-domain.com", $username, $password);
我代碼(HTML + Jquery + Ajax + PHP)在我的VPS上運行時運行良好,我使用localhost
,但在使用IP address
或hostname
時失敗。
我也試圖與mySQLjs:
MySql.Execute(
"http://xxx.yy.kkk.qqq",
"username",
"password",
"phonegap",
"select * from test",
function (data) {
console.log(data)
});
,但仍然沒有成功。
我在mySQLjs找到的演示代碼工作正常,所以我很確定我錯過了關於我的連接的一些事情。
如何使用IP address
或hostname
而不是使用localhost
訪問我的MySql db?是否有我應該在我的VPS上設置的配置?
請不要設計從互聯網上的隨機設備直接連接到MySQL的應用程序。這是非常危險的。 MySQL沒有針對攻擊強化,並且很容易被某人破壞。訪問控制幾乎完全不可能,因爲如果有人需要寫入權限,則不能將其鎖定到不同的記錄組。您至少需要使用應用程序與之交互的一些精簡API。 JSON是一個非常流行的選擇,因爲它非常輕便,HTTPS是連接它的最普遍的方法。 – tadman