簡體   English   中英

無法從SESSION變量和查詢數據庫中讀取值

[英]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_*函數 它們不再維護,已正式棄用 看到紅色框了嗎? 相反,要了解准備好的語句 ,並使用PDOMySQLi- 本文將幫助您確定哪一個。 如果您選擇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_*已被解散

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM