Php 为什么我能';t外接程序数据库?

Php 为什么我能';t外接程序数据库?,php,html,json,ajax,mysqli,Php,Html,Json,Ajax,Mysqli,我正在尝试将数据从html发送到php,并尝试将其添加到数据库中。 我就是不知道怎么了,有人能帮我吗 以下是脚本中的代码: $("#addbtn").click(function(){ var cityName=document.getElementById("cityField").value.toString(); var countryName=document.getElementById("countryField").value; var descripti

我正在尝试将数据从html发送到php,并尝试将其添加到数据库中。 我就是不知道怎么了,有人能帮我吗

以下是脚本中的代码:

 $("#addbtn").click(function(){
    var cityName=document.getElementById("cityField").value.toString();
    var countryName=document.getElementById("countryField").value;
    var description=document.getElementById("descriptionField").value;
    var touristTargets=document.getElementById("targetsField").value;
    var costPerDay=parseInt(document.getElementById("costField").value);
    $.ajax({
      dataType: "json",
      type: "GET",
      url: "getCities.php",
      data: {limit:100,action:"add",cityField:cityField,countryField:countryField,descriptionField:descriptionField,targetsField:targetsField,costField:costPerDay},
      success: {function(msg) {
        alert(msg.status);
      }}

    }); 
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'));

    }

由于您似乎在任何地方都没有将数据编码为JSON,因此大多数情况下,当您调用
JSON\u decode($\u GET[“somevalue”])
时,您将得到NULL


不要在非json的东西上运行
json\u decode

既然您正在声明这些变量,那么它们不应该是数据声明中包含的值吗(代码被截断以仅显示重要内容

    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}...

您使用了错误的变量名称,代码如下:


数据:{limit:100,action:“add”,cityField:cityName,countryField:countryName,descriptionField:description,targetsField:touristTargets,costField:costPerDay},

if($\u GET['action']==“add”){
代替了
if($action==“add”){
我已经定义:$action=$\u请求[“action”];但是我忘了在这里添加它