您好,我是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有人帮助我!!!!!!
答案 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进行数据库访问和准备语句,这将提高代码的安全性。