Php 无法从会话变量和查询数据库中读取值

Php 无法从会话变量和查询数据库中读取值,php,session,Php,Session,我无法获取会话变量的值以将其插入数据库。 lat和lng是双倍的 $lat = mysql_real_escape_string($lat); $lng = mysql_real_escape_string($lng); $sql="INSERT INTO POINT (LocationLat,LocationLngme,UserName) VALUES (&lat,&lng,$usr)"; mysql_query($sql); ?> 必须位于您希望使用会话的任何页

我无法获取会话变量的值以将其插入数据库。 lat和lng是双倍的
$lat = mysql_real_escape_string($lat);
$lng = mysql_real_escape_string($lng);


$sql="INSERT INTO POINT (LocationLat,LocationLngme,UserName) VALUES (&lat,&lng,$usr)";
mysql_query($sql);

?>
必须位于您希望使用会话的任何页面的顶部:

<?php
session_start();
$lat = $_REQUEST['lat'];
$lng = $_REQUEST['lng'];
$usr = "'".echo $_SESSION['username']."'";

$lat = mysql_real_escape_string($lat);
$lng = mysql_real_escape_string($lng);


$sql="INSERT INTO POINT (LocationLat,LocationLngme,UserName) VALUES ('&lat','&lng','$usr')";
mysql_query($sql);

?>
必须位于要使用会话的任何页面的顶部:

<?php
session_start();
$lat = $_REQUEST['lat'];
$lng = $_REQUEST['lng'];
$usr = "'".echo $_SESSION['username']."'";

$lat = mysql_real_escape_string($lat);
$lng = mysql_real_escape_string($lng);


$sql="INSERT INTO POINT (LocationLat,LocationLngme,UserName) VALUES ('&lat','&lng','$usr')";
mysql_query($sql);

?>

@Jonh Conde的答案可能对你有用,但最好做以下几点:

<?php
session_start();
$lat = mysql_real_escape_string( trim( $_REQUEST['lat'] ) );
$lng = mysql_real_escape_string( trim( $_REQUEST['lng'] ) );
$usr = mysql_real_escape_string( trim( $_SESSION['username'] ) );

$sql="INSERT INTO `POINT` (`LocationLat`, `LocationLngme`, `UserName`) VALUES ('$lat', '$lng', '$usr')"; 
// Putting '`' backticks around column and table names makes sure some mysql errors are prefented.
mysql_query($sql);

?>

@Jonh Conde的答案可能对你有用,但最好做以下几点:

<?php
session_start();
$lat = mysql_real_escape_string( trim( $_REQUEST['lat'] ) );
$lng = mysql_real_escape_string( trim( $_REQUEST['lng'] ) );
$usr = mysql_real_escape_string( trim( $_SESSION['username'] ) );

$sql="INSERT INTO `POINT` (`LocationLat`, `LocationLngme`, `UserName`) VALUES ('$lat', '$lng', '$usr')"; 
// Putting '`' backticks around column and table names makes sure some mysql errors are prefented.
mysql_query($sql);

?>

也不必将
&lat
&lng
更改为
$lat
$lng
,并可能将其置于引号中?@Rizier123这是他们的下一个问题但是我应该提到这一点,这样这个答案就不会提供不好的信息。啊,好吧,我必须同意:鞋匠知道如何自己修鞋,这不是很神奇吗?(咧嘴笑)那是因为他们找了别人帮他们修鞋;)我想他们的工具已经没有任何用处了。OP不也必须将
&lat
&lng
更改为
$lat
$lng
,也许还要加引号吗?@Rizier123这是他们的下一个问题但是我应该提到这一点,这样这个答案就不会提供不好的信息。啊,好吧,我必须同意:鞋匠知道如何自己修鞋,这不是很神奇吗?(咧嘴笑)那是因为他们找了别人帮他们修鞋;)我想他们的工具已经没有任何用处了。“列和表名周围的反勾号确保某些mysql错误被预先记录。”-实际上,每当OP使用保留字,或者表/列包含空格或连字符时,都会使用反勾号。@Fred ii-“每当OP使用保留字,或表/列包含空格或连字符时,都会使用反勾号。”这就是我的意思。但通常来说,做/学着做以防止出错也是一件好事。@Zhexa如@John Conde所说:“这是他们的下一个问题。”但我应该提到这一点,这样这个答案就不会提供不好的信息。”“列和表名周围的反勾号确保某些mysql错误被预先记录。”-事实上,每当OP使用保留字,或者表/列包含空格或连字符时,都会使用反勾号。@Fred ii-“每当OP使用保留字时,都会使用反勾号,或者一个表/列包含空格或连字符“这就是我要做的。但通常来说,做/学会做以防止错误也是一件好事。@Zhexa如@John Conde所说:“这是他们的下一个问题。”但是我应该提到这一点,这样这个答案就不会提供不好的信息。“顺便说一句:你可以接受这个答案,它对你的帮助最大,解决了你的问题!()顺便说一句,2:改变那些
&
,又称“符号”" ;)不要打扰@Rizier123-OP似乎没有注意到我们在这里的任何评论。顺便说一句:你可以接受这个答案,它是如何帮助了你,解决了你的问题!()顺便说一句,2:更改那些
,即“符号”不要打扰@Rizier123-OP似乎没有注意到我们在这里的任何评论。如果它咬了他们,那么这些符号也不够突出。