将带有空格的纯文本从 EditText 发送到 mysql 数据库?

Posted

技术标签:

【中文标题】将带有空格的纯文本从 EditText 发送到 mysql 数据库?【英文标题】:sending plain text with space from an EditText to a mysql db? 【发布时间】:2018-04-19 21:38:05 【问题描述】:

请我尝试从EditText 发送一个文本,其中单词之间有空格,但我的数据库中没有插入任何内容!

当我发送没有空格的文本并插入时!

请问这里有什么问题??

MyAsyncTaskresources attemptLogin= new MyAsyncTaskresources();
attemptLogin.execute("http://xxx.xxxxx.com/add_demande.php?de="+infos_demande.getStringExtra("de").toString()+"&a="+infos_demande.getStringExtra("a").toString()+"&date="+infos_demande.getStringExtra("date").toString()+"&heur="+infos_demande.getStringExtra("heur").toString()+"&id_user="+infos_demande.getStringExtra("id_conducteur"+i).toString());

【问题讨论】:

为了给出正确答案,请确保您还发布了错误日志。 【参考方案1】:

您是否尝试添加

 N'

作为字符串的第一部分?

【讨论】:

【参考方案2】:

在将值附加到 URL 字符串之前,您需要使用 URLEncoder.encode(<Query Value>,"UTF-8") 对字符串值进行编码。

MyAsyncTaskresources attemptLogin= new MyAsyncTaskresources();                 
attemptLogin.execute("http://xxx.xxxxx.com/add_demande.php?de="+URLEncoder.encode(infos_demande.getStringExtra("de").toString(),"UTF-8")+"&a="+URLENcoder.encode(infos_demande.getStringExtra("a").toString(),"UTF-8")+"&date="+URLEncoder.encode(infos_demande.getStringExtra("date").toString(),"UTF-8")+"&heur="+URLEncoder.encode(infos_demande.getStringExtra("heur").toString(),"UTF-8")+"&id_user="+URLEncoder.encode(infos_demande.getStringExtra("id_conducteur"+i).toString(),"UTF-8"));

【讨论】:

【参考方案3】:

首先让你的代码可读,在将它放入attemptLogin.execute(...)之前构建你的字符串

现在您已经构建了字符串,您可以检查您的字符串,尝试一下并确保您的 attemptLogin.execute() 参数是合法字符串!

【讨论】:

【参考方案4】:

使用 volley 比使用这个旧流程更好更快

volley library in android,可以简单的发送请求和得到响应,并且可以添加字符串等参数,没有空格的问题,并且有服务器错误的句柄来检查你的错误在哪里

【讨论】:

欢迎您,如果您对 volley 有任何疑问,请咨询我,我会尽我所能为您提供帮助

以上是关于将带有空格的纯文本从 EditText 发送到 mysql 数据库?的主要内容,如果未能解决你的问题,请参考以下文章

将文本字符串从 android 应用程序发送到网站上的表单?

如何将socket_read值获取为从PHP websocket中的javascript发送的纯文本

如何将电子邮件发送到存储在EditText中的地址? [重复]

带有空格的 MFMessageComposeViewController

从 EditText 获取文本并在 Android 中使用 HttpPost 发送

到 MailMessage 的纯文本 mime 电子邮件