SQL和PHP问题

fla*_*ghi 0 php mysql sql

这个查询有什么问题?

$query3 = "INSERT INTO Users 
             ('Token','Long','Lat') 
           VALUES 
             ('".$token."','".$lon1."','".$lat."')";
Run Code Online (Sandbox Code Playgroud)

Rud*_*ser 6

你有几个问题.

  1. 列名应该被反引号转义,而不是引用(LONG也是MySQL中的数据类型,因此它是保留的,必须进行反引号转义).
  2. 如果不转义这些参数,则会出现SQL注入问题.
  3. mysql_error()如果它不起作用,您应该向我们提供结果.

尝试运行此代码:

$token   = mysql_real_escape_string($token);
$lon1    = mysql_real_escape_string($lon1);
$lat     = mysql_real_escape_string($lat);

$query3  = "INSERT INTO `Users` (`Token`, `Long`, `Lat`) 
           VALUES ('{$token}', '{$lon1}', '{$lat}')";
$result3 = mysql_query($query3) or die("Query Error: " . mysql_error());
Run Code Online (Sandbox Code Playgroud)

如果仍然无效,请提供生成的错误消息.