myphp页面第16行出错了,是
$result = mysql_query("update Users set lat='$lat',lon='$lng' where username=$_SESSION['username']");
答案 0 :(得分:0)
你需要在字符串内部使用花括号{}
来返回数组部分:
$result = mysql_query("update Users set lat='$lat',lon='$lng' where username={$_SESSION['username']}");
注意:如前所述,您不应该使用mysql_query
。
答案 1 :(得分:0)
虽然这里不推荐使用mysql_ *函数,但查询错误是:
$result = mysql_query("update Users set lat='$lat',lon='$lng' where username=".$_SESSION['username']);
还要确保在查询中使用之前对输入进行清理:
答案 2 :(得分:0)
您忘记了所有需要的'
,并且忘记引用用户名值。而不是
$result = mysql_query("update Users set lat='$lat',lon='$lng' where username=$_SESSION['username']");
以更干净的方式做到这一点:
$result = mysql_query( "update Users set lat='$lat',lon='$lng' where username='" . $_SESSION['username'] . "'");
甚至更好:
$query = sprintf("update Users set lat='%s',lon='%s' where username=%s"),
$lat, $lng, $_SESSION['username']);
$result = mysql_query($query);
BTW:切换到MYSQLi或PDO,因为MYSQL扩展名已弃用,没有新代码可以触及它。
答案 3 :(得分:0)
您有多个问题,但错误与您使用double quoted string的变量扩展有关。
错误:强>
echo "$_SESSION['username']";
没有错误:
echo "{$_SESSION['username']}";
<强>备选方案:强>
echo "..." . $_SESSION['username'] . "...";
echo '...' . $_SESSION['username'] . '...';
阅读Strings上的文档,以确定如何处理字符串中的变量扩展。
我还建议您阅读SQL Injection和PDO。