2016-08-09 8 views
0

私はMacBook ProのMAMPを使ってローカルで管理されているシンプルなMySQLデータベースからデータを取得しようとしています。iPhoneのMAMP MySQLデータベースからデータを取り出す方法は?

Xcodeのシミュレータでプロジェクトを実行すると、完全に機能します。データは、ボタンが押されるとデータベースから取り出されます。 Netbeansでコードを実行するときにも、Google Chromeブラウザで動作します。

私はXcode経由でデバイス上でコードを実行すると、アプリケーションは必要なように見え、必要なようにナビゲートしますが、プッシュするとボタンはデータを取得しません。

デバイスで動作するには、私のIPアドレスで接続する必要がありますか?誰もがこれを行う簡単な方法を説明することはできますか?お願いします。

以下は、データを取得するためのコードです。

$(document).on('click', '#studentButton',function() { 
         $.getJSON('http://localhost:8888/htdocs/php/json-data-students.php', function(data) { 
             $.each(data.students, function(index, student) { 
              $('#Row1').append('<p> ID: ' + student.studentID+ '</p>'); 
              $('#Row2').append('<p> < '+ student.firstName +' > ')+ '</p>'; 
              $('#Row3').append('<p> < '+ student.lastName +' > ')+ '</p>'; 
              $('#Row4').append('<p> Course ID: ' + student.courseID+ '</p'); 
             }); 
         }); 
       }); 
+0

接続の仕方を示す関連コードを使用して質問を更新してください。 – rmaddy

+0

@rmaddy編集されました。これがデータを取得するためのコードです。 – Skin99

答えて

0

localhostは、アプリケーションが動作しているホストを表すIPアドレス127.0.0.1です。

あなたのアプリケーションをシミュレータ(Mac)で実行すると、localhostは、あなたのデータベースを実行しているのと同じホストになります。だからあなたのアプリはうまく接続することができます。

実際のiOSデバイスでアプリを実行すると、localhost(iOSアプリに表示されるように)はiOSデバイスであり、データベースを実行しているホストではありません。私たちのアプリは、データベースがiOSデバイス上で動作していないので接続できません。

localhostをお使いのMacのローカルIPアドレスに置き換える必要があります。ほとんどの場合、それは192.168.1.xのようなものになります。ここで、x1または1255の間の何か他の数になります。

これを変更すると、アプリは実際のデバイスまたはシミュレータから機能します。もちろん、あなたのMacのIPアドレスは時間の経過と共に変わることがあります。しかし、これは単なるテストのためのものです。あなたは、App Storeにあなたのアプリを公開するときに、あなたのMac上であなたのデータベースを稼働させることは確かではありません。

+0

ありがとう!私は明日最初にそれを試してみる。 – Skin99

+0

これは完全に機能しました。ありがとう。 – Skin99

+0

私は今、ウェブサーバー上でデータベースをホストしています。今のオンラインデータベースで動作させるためにコードにどのような変更を加える必要がありますか? – Skin99

関連する問題