为什么我无法添加数据库?

时间:2016-05-18 10:10:02

标签: php html json ajax mysqli

我正在尝试将数据从html发送到php,我尝试将其添加到我的数据库中。 我无法弄清楚出了什么问题,有人可以帮帮我吗?

以下是脚本中的代码:

  $action= $_REQUEST["action"];
  if($action == "add"){
    $city=json_decode($_GET["cityField"]);
    $country=json_decode($_GET["countryField"]);
    $descript=json_decode($_GET["descriptionField"]);
    $targets=json_decode($_GET["targetsField"]);
    $cost=json_decode($_GET["costField"]);
    $command="INSERT INTO vacantiondestinations(cityName,countryName,description,touristTargets,costPerDay) VALUES(?,?,?,?,?)";
    $stmt=$conn->prepare($command);
    $stmt->bind_param("ssssi",$city,$country,$descript,$targets,$cost);
    $stmt->execute();

    if($stmt)
        echo json_encode(array('status'=>'success'));
    else
        echo json_encode(array('status'=>'failed'));

    }

这个在php文件中:

[ a b 0 0 0 0 0]
[0 c d 0 0 0 0 ]
[0 0 e f g 0 0 ]
[0 0 0 0 0 h 0 ]
[0 0 0 0 0 0 m ]

3 个答案:

答案 0 :(得分:1)

由于您要声明这些变量 - 它们不应该是数据声明中包含的值(代码被截断以显示重要的内容吗?

    var cityName=...
    var countryName=...
    var description=...
    var touristTargets=...
    var costPerDay=...

...data: {limit:100,action:"add",cityField:cityName,countryField:countryName,descriptionField:description,targetsField:touristTargets,costField:costPerDay}...

答案 1 :(得分:1)

你使用了错误的变量名,代码应该是:

数据:{极限:100,动作:"添加",车市场:的cityName,countryField:国家名称,descriptionField:说明,targetsField:touristTargets,costField:costPerDay},

答案 2 :(得分:0)

由于您似乎无法将数据编码为JSON,因此大多数情况下,当您调用json_decode($_GET["somevalue"])时,您将获得NULL。

不要对非JSON的内容运行json_decode