只有两个字符串的第一个单词才会添加到db

时间:2013-10-21 21:51:35

标签: android

当尝试通过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函数会添加所有文本。 插入对话框时,字符串也会返回完整值。

我该如何解决这个问题?

谢谢。

1 个答案:

答案 0 :(得分:1)

将它们放入网址时,您需要对valcomvalnm进行网址编码。

请参阅java.net.URLEncoder.encodehttp://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));