私はPhonegapで初めての実験をしています。私は、MySqlサーバーからデータを取得するアプリケーションを構築したいと思いますが、私のdBに接続できないという問題があるようです。Phonegap。リモートのmysqlデータベースにアクセスできない
私は簡単にウェブサイトを構築します。 $servername
がlocalhost
あるしかし、私はhostname
またはIP address
を使用する必要がありますので、PhoneGapのlocalhost
で、もちろん動作しません
$conn = new mysqli($servername, $username, $password);
:私は、PHP、次のコードを使用します。
ここに問題があります。私は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に見つけたデモコードはうまく動作するので、私の接続について何か不足していると確信しています。
localhost
ではなく、IP address
またはhostname
を使用してMySqlデータベースにアクセスするにはどうすればよいですか? VPSに設定する必要がある設定はありますか?
ランダムに接続されたデバイスからインターネットに直接接続するアプリケーションを設計しないでください。これは非常に危険です。 MySQLは攻撃に対して強化されておらず、誰かによって容易に妨害される可能性があります。アクセス制御もほぼ完全に不可能です。誰かが書き込みアクセスを必要とする場合は、別のレコードグループにロックすることはできません。最低でも、アプリケーションがやりとりするいくつかの細いAPIを使用する必要があります。 JSONは非常に一般的な選択です。軽量で、HTTPSは接続するための最もユビキタスな方法です。 – tadman