首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要其他人的眼睛来寻找我的错误。php接收GPS坐标

需要其他人的眼睛来寻找我的错误。php接收GPS坐标
EN

Stack Overflow用户
提问于 2011-11-10 22:56:06
回答 4查看 48关注 0票数 0

我对php很陌生,我有个问题。我正在做一个网页来接收来自android应用程序的gps坐标。我收到了一个关于SQL语句的错误,下面是代码:

代码语言:javascript
复制
?php

ini_set('display_errors',1); 
 error_reporting(E_ALL);
 date_default_timezone_set('America/New_York');

$script_tz = date_default_timezone_get();

if (strcmp($script_tz, ini_get('date.timezone'))){
    echo 'Script timezone differs from ini-set timezone.';
} else {
    echo 'Script timezone and ini-set timezone match.';
}


$usr = "bikemap";
  $pwd = "pedalhard";
  $db = "test";
  $host = "localhost";

  $cid = mysql_connect($host,$usr,$pwd);

  if (!$cid) { echo("ERROR: " . mysql_error() . "\n"); }

  $userID = $_POST['userID'];
  $date = $_POST['date'];
  $time = $_POST['time'];

  $lat = $_POST['lat'];
  $long = $_POST['long'];
  $alt = $_POST['alt'];
   mysql_select_db("test");

  $SQL = " INSERT INTO gpsdata ";
$SQL = $SQL . " (userID, date, time, lat, long, alt) VALUES ";
$SQL = $SQL . " ('$userID', '$date', '$time', '$lat','$long','$alt') ";
$result = mysql_query("$SQL");

if (!$result) {
    echo("ERROR: " . mysql_error() . "\n$SQL\n"); }




mysql_close($cid); 
?>

以下是我收到的错误:

错误:您的SQL语法有错误;请检查与您的MySQL服务器版本相对应的手册,以便在第1行使用接近'long,alt‘值('',’)值(userID,date,time,lat,long,alt)值('','')。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-11-10 22:59:51

long被解析为数据类型,而不是字段名。

要解决这个问题,请在字段名周围加上引号,如下所示:

代码语言:javascript
复制
$SQL = $SQL . " (`userID`, `date`, `time`, `lat`, `long`, `alt`) VALUES ";
票数 0
EN

Stack Overflow用户

发布于 2011-11-10 22:58:22

LONGmySQL中的保留字

或者将字段名放在backticks中:

代码语言:javascript
复制
$SQL = $SQL . " (`userID`, `date`, `time`, `lat`, `long`, `alt`) VALUES ";

或者重命名这个字段。

而且,您的脚本容易受到SQL注入的攻击。你想在直播前解决这个问题。

票数 2
EN

Stack Overflow用户

发布于 2011-11-10 22:58:40

long是MySQL中的一个保留字。使用lon,或者用‘字符’引用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8087538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档