Java 使用webservice更新mysql表中的列是通过直接访问php文件来实现的,但当应用程序在android中运行时,情况并非如此
备注:java: 这就像一个后台工作人员,通过在我的htdocs中与我的php协调来发布数据:Java 使用webservice更新mysql表中的列是通过直接访问php文件来实现的,但当应用程序在android中运行时,情况并非如此,java,php,android,mysql,eclipse,Java,Php,Android,Mysql,Eclipse,备注:java: 这就像一个后台工作人员,通过在我的htdocs中与我的php协调来发布数据: List<NameValuePair> nameValuePairs; nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("input", inputString.trim())); try {
List<NameValuePair> nameValuePairs;
nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("input", inputString.trim()));
try {
String Url = "http://192.168.x.x/webservices/scwebservice/"+command+".php";
httpclient = new DefaultHttpClient();
String riddleIDValString = URLEncoder.encode(inputString,"UTF-8");
Url = Url+"?input="+riddleIDValString;
httpost = new HttpPost(Url);
httpost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
response = httpclient.execute(httpost);
inputStream = response.getEntity().getContent();
data = new byte[256];
buffer = new StringBuffer();
int len = 0;
while (-1 != (len = inputStream.read(data)) ) {
buffer.append(new String(data, 0, len));
}
//for the output or echo
final String bufferedInputString = buffer.toString();
inputStream.close();
((Activity) context).runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(context, bufferedInputString, Toast.LENGTH_SHORT).show();
}
});
}
这是我在htdocs中的PHP文件,它与my rements.java协调,并接收输入“2014102002:myremark”,PHP文件将对其进行分解,然后更新我的数据库中的列remark(id为int,remark为varchar):
我尝试在浏览器url中执行我的php文件,它正在更新我的列,但当我尝试在手机中运行应用程序时,它不会更新列。你能检查一下我的Remark.java中有什么错误吗?或者如果我在php文件中有什么需要改进的地方?但是,在执行SQL查询时,应该使用准备好的语句来防止SQL注入。请看“我会记住的,先生。您能帮我解决我的问题吗?逻辑似乎很好,但在执行SQL查询时,您应该使用准备好的语句来防止SQL注入。请看“我会记住的,先生”。你能帮我解决我的问题吗?逻辑似乎很好,请帮助我
Remark update = new Remark(StudentprofileActivity.this,"UPDATE-REMARK");
switch (arg0.getId()) {
case R.id.btnsave:
update.execute(id+":"+edittextremarks.getText().toString());
break;
}
$link = mysql_connect("localhost", "root", "");
mysql_select_db("my_db", $link);
$remarkinfo = $_POST['input'];
$data = explode(":",$remarkinfo);
$studid=(int)$data[0];
mysql_query("UPDATE attendance_tbl SET remarks = '$data[1]' where student_id = $studid") or die(mysql_error());
echo $remarkinfo;