私は、リモート データベースの使用に大きく依存する Android アプリケーションを開発しているチームに所属しています。PhoneGap と Jquery Mobile を使用しており、AJAX と JSON 呼び出しを使用して MySQL データベースに接続しようとしています。現在、テスト フェーズで問題が発生しています。これは、ハードコードされた "Ted" のユーザーを mySQL から取得し、MySQL Workbench を介して入力することで、接続が確立されていることを確認することです。
収集したデータから、データ送信のプロセスは次のように機能します。
私たちのhtmlファイルには、
<script type="text/javascript" src="Connect.js"></script>
^ Connect.js スクリプトを実行するのはどちらですか? そこから、Connect.js を実行しますか?
Connect.js が実行され、外部 Web サービスでホストされている ServerFile.php に接続され、PHP を実行して MySQL データベースに接続し、情報を取得できるようになります。
//run the following code whenever a new pseudo-page is created $('#PAGENAME').live('pageshow', function(event)) { // cache this page for later use (inside the AJAX function) var $this = $(this); // make an AJAX call to your PHP script $.getJSON('http://www.WEBSITENAME.com/ServerFile.php', function (response) { // create a variable to hold the parsed output from the server var output = []; // if the PHP script returned a success if (response.status == 'success') { // iterate through the response rows for (var key in response.items) { // add each response row to the output variable output.push('<li>' + response.items[key] + '</li>'); } // if the PHP script returned an error } else { // output an error message output.push('<li>No Data Found</li>'); } // append the output to the `data-role="content"` div on this page as a // listview and trigger the `create` event on its parent to style the // listview $this.children('[data-role="content"]').append('<ul data-role="listview">' + output.join('') + '</ul>').trigger('create'); }); });
ここに ServerFile.php があります。これにより、MySQL データベースに接続され、Select ステートメントが作成され、JSON 形式でエンコードされた出力がブラウザーに送信されます。
<?php
//session_start();
$connection = mysql_connect("csmadison.dhcp.bsu.edu", "clbavender", "changeme");
$db = mysql_select_db("cs397_clbavender", $connection);
//include your database connection code
// include_once('database-connection.php');
//query your MySQL server for whatever information you want
$query = mysql_query("SELECT * FROM Users WHERE Username ='Ted'", $db) or trigger_error(mysql_error());
//create an output array
$output = array();
//if the MySQL query returned any results
if (mysql_affected_rows() > 0) {
//iterate through the results of your query
while ($row = mysql_fetch_assoc($query)) {
//add the results of your query to the output variable
$output[] = $row;
}
//send your output to the browser encoded in the JSON format
echo json_encode(array('status' => 'success', 'items' => $output));
} else {
//if no records were found in the database then output an error message encoded in the JSON format
echo json_encode(array('status' => 'error', 'items' => $output));
}
?>
しかし、ここには何も表示されていません。ここから何をしますか?