首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JS/PHP/MySQL成功但未插入

JS/PHP/MySQL成功但未插入
EN

Stack Overflow用户
提问于 2016-08-25 20:41:35
回答 3查看 56关注 0票数 0

我有一个包含对象的数组,我想将这些对象存储到我的MySQL DB中。一开始它工作得很好,但突然它停止了工作,即使它没有对代码或DB进行任何更改。

对象数组如下所示:var geocoded = [{zip: 1234, place: "XY", country: "XY", lat: "123.123", lng: "123.123"}, ...];

我使用以下JS代码遍历数组并将每个对象发布到DB。kiter是我使用的迭代器,它被定义为geocoded.length - 1

代码语言:javascript
复制
function postPlaces(data, kiter) {

  if (kiter >= 0) {
    $.post("api/placessave.php", 
      data[kiter],
      function(data, status){
        kiter--;
        postPlaces(geocoded, kiter);
        console.log(data + '.............' + status);
      }
    );
  } else {
        //statusUpdate(id);
  }
}

placessave.php如下所示:

代码语言:javascript
复制
<?php
 define('HOST','localhost');
 define('USERNAME', 'root');
 define('PASSWORD','*****');
 define('DB','****');

 $con = mysqli_connect(HOST,USERNAME,PASSWORD,DB);

 $zip = $_POST['zip'];
 $place = $_POST['place'];
 $country = $_POST['country'];
 $lat = $_POST['lat'];
 $lng = $_POST['lng'];

 $sql = "insert ignore into places (zip, place, country, lat, lng) values ($zip, '$place', '$country', '$lat', '$lng')";

 if(mysqli_query($con, $sql)){
 echo "success";
 }

 mysqli_close($con);
?>

我使用INSERT IGNORE是因为可能存在重复项,但不需要更新。有趣的是,每件事都运行得很好,我也会在每次查询时都获得成功,但没有任何东西存储到数据库中。

EN

回答 3

Stack Overflow用户

发布于 2016-08-25 20:46:34

插入查询你必须像这样改变。您漏掉了值的引号

替换

代码语言:javascript
复制
$sql = "insert ignore into places (zip, place, country, lat, lng) values ($zip, '$place', '$country', '$lat', '$lng')";

使用

代码语言:javascript
复制
$sql = "insert ignore into places (zip, place, country, lat, lng) values ('".$zip."', '".$place."', '".$country."', '".$lat."', '".$lng."')";
票数 0
EN

Stack Overflow用户

发布于 2016-08-25 21:25:25

我自己找到了解决方案。问题出在我想存储的数据中。我发现有一个包含'的地名。因此,查询不起作用。删除它后,一切工作正常。

票数 0
EN

Stack Overflow用户

发布于 2016-08-25 21:31:11

只需将查询中的($zip,更改为('$zip',

zip可能是字符串,而您在查询中没有将其作为字符串传递。此外,此代码容易受到SQL注入的攻击。请阅读它,以避免不安全感。

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

https://stackoverflow.com/questions/39145629

复制
相关文章

相似问题

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