0

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

我该如何解决?

谢谢你。

4

1 回答 1

1

您需要进行 URL 编码valcom,并valnm在将它们放入 URL 时。

请参阅:http java.net.URLEncoder.encode: //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));
于 2013-10-21T21:55:23.747 回答