如何从Android发送带有空间的文本到MySQL数据库

时间:2017-01-26 11:39:10

标签: php android mysql

您好,我是Android的新手,我想从Android发送带有空格的文本("我的名字是Oliver Queen")到MySQL数据库。 我在PHP中使用这个脚本:

<?php
$servername = " ";
$username = " ";
$password = " ";
$dbname = " ";

$id=$_GET['id'];
$project=$_GET["a"];

// Create connection..

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection

if ($conn->connect_error) {

 die("Connection failed: " . $conn->connect_error);

} 
//echo "$project";

$sql= $sql= "UPDATE user SET project = \"$project\" WHERE id= '$id'";  

$result = $conn->query($sql);

$conn->close();

?>

在MySQL中我只发现了(&#34;我的#34;)太空之前的第一个字! Plzz有人帮助我!!!!!!

2 个答案:

答案 0 :(得分:1)

首先,您应该使用varchar属性周围的单引号而非数字来修复查询,同时注意您声明了两次的$sql = $sql =

$sql= "UPDATE user SET project = '$project' WHERE id= $id";

然后,您尝试通过GET方法$project=$_GET["a"];接收字符串,因此您的网址应该编码良好。

答案 1 :(得分:1)

检查$ project变量的值; 我敢打赌,你通过GET请求发送值,而不是正确编码它们。

如果您的$ project值确实是“My”,那么请查看Android部分,并查看如何进行url编码(在Java中应该非常简单) - 查找相当于{{ 3}} - 这可以解决你的问题。

此外,在您使用它之后,修改代码以处理SQL注入,切换到使用PDO进行数据库访问和准备语句,这将提高代码的安全性。