[英]Can not read value from SESSION variable and query database
我無法獲取會話變量的值來將其插入數據庫。 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);
?>
session_start()
必須位於您要使用會話的任何頁面的頂部:
<?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);
?>
僅供參考,您在查詢中的字符串值周圍缺少引號。
而且,請不要在新代碼中使用mysql_*
函數 。 它們不再維護,已正式棄用 。 看到紅色框了嗎? 相反,要了解准備好的語句 ,並使用PDO或MySQLi- 本文將幫助您確定哪一個。 如果您選擇PDO, 這是一個很好的教程 。
您還可以接受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);
?>
也請查看mysqli_*
或PDO
因為mysql_*
已被解散
trim()
;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.