当尝试通过php向数据库添加单词时,只会添加两个字符串的第一个单词。
我通过以下代码发送文本:
public void sendTextToDB() {
valcom = editText1.getText().toString();
valnm = editText2.getText().toString();
t = new Thread() {
public void run() {
try {
url = new URL("http://10.0.2.2/HB/hikebuddy.php?function=setcomm&comment="+valcom+"&name="+valnm);
h = (HttpURLConnection)url.openConnection();
if( h.getResponseCode() == HttpURLConnection.HTTP_OK){
is = h.getInputStream();
}else{
is = h.getErrorStream();
}
h.disconnect();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.d("Test", "CONNECTION FAILED 1");
}
}
};
t.start();
}
在浏览器中使用空格和逗号等进行测试时,php函数会添加所有文本。 插入对话框时,字符串也会返回完整值。
我该如何解决这个问题?
谢谢。
答案 0 :(得分:1)
将它们放入网址时,您需要对valcom
和valnm
进行网址编码。
请参阅java.net.URLEncoder.encode
:http://developer.android.com/reference/java/net/URLEncoder.html
url = new URL("http://10.0.2.2/HB/hikebuddy.php?function=setcomm&comment="
+ URLEncoder.encode(valcom)
+ "&name="+ URLEncoder.encode(valnm));