我对使用Android
Phonegap
应用程序连接SQL Server数据库的方式感到困惑。我使用PHP
代码来查询数据。
这可能吗?
我的应用未运行。这是空白的。任何人都可以给我一个明确的例子或示例代码来解决这个问题。
答案 0 :(得分:1)
使用PHP将android连接到服务器是最好的方法......
首先使用名称值对
public void registerUser(String email, String password, String mobile) {
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("tag", register_tag));
params.add(new BasicNameValuePair("keyemail", email));
params.add(new BasicNameValuePair("keypassword", password));
params.add(new BasicNameValuePair("keymobile", mobile));
// getting JSON Object
JsonParser.makeHttpRequest(registerURL,params);
}
使用JSON发送数据
public JSONObject makeHttpRequest(String url,
List<NameValuePair> params) {
// Making HTTP request
try {
// request method is POST
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(params));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
json = sb.toString();
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
// try parse the string to a JSON object
try {
jObj = new JSONObject(json);
Log.d("Parser", "IN try parse the string to a JSON object");
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
// return JSON String
return jObj;
}
PHP代码将获得此值并进一步使用
// include db connect class
require_once dirname(__FILE__).'/db_connect.php';
// connecting to db
$db = new DB_CONNECT();
$response = array();
$email = $_POST['keyemail'];
$password= $_POST['keypassword'];
$phone=$_POST['keymobile'];
$tag=$_POST['tag'];
$result=mysql_query("INSERT INTO TableName (register_email,password,mobile) VALUES('$email','$password', '$phone')");
if ($result) {
// successfully updated
$response["success"] = 1;
$response["message"] = "Data Inserted Successfully.";
// echoing JSON response
echo json_encode($response);
} else {
$response["error_msg"]="Error In Insertion";
}
&GT?;