PHP JavaScript MySQL表单无法插入或检索数据-无效的JSON响应

时间:2019-04-07 20:45:01

标签: javascript php mysql json forms

我的后端很小,可以将一些数据上传到数据库中。以这种形式,我正在上传一些图像。几天前一切正常,但现在突然不起作用了。我无法添加任何条目,并且如果尝试使用phpMyAdmin手动添加一些条目,则会出现以下错误:

DataTables warning: table id=user_data - Invalid JSON response. 
For more information about this error, please see http://datatables.net/tn/1

表单页面:

<?php include 'header.php'; ?>
<div class="row">
  <div class="col-xs-12">
    <div class="card mrg_bottom">
      <div class="page_title_block">
        <div class="col-md-5 col-xs-12">
          <div class="page_title">Sponsoren</div>
        </div>
        <div class="col-md-7 col-xs-12">
          <div class="search_list">
            <button type="button" name="add" id="add" class="btn btn-info">Add</button>
          </div>
        </div>
      </div>
      <div class="clearfix"></div>
      <div class="row mrg-top">
        <div class="col-md-12">
          <div class="col-md-12 col-sm-12"></div>
        </div>
      </div>
      <div class="col-md-12 mrg-top">
        <div id="alert_message"></div>
        <table id="user_data" class="table table-striped table-bordered table-hover">
          <thead>
            <tr>
              <th>Name</th>
              <th>Bild</th>
              <th>Action</th>
            </tr>
          </thead>
        </table>
      </div>
      <div class="clearfix"></div>
    </div>
  </div>
</div>

<script type="text/javascript" language="javascript" >
 $(document).ready(function(){
  
  fetch_data();

  function fetch_data() {
   var dataTable = $('#user_data').DataTable({
    "processing" : true,
    "serverSide" : true,
    "order" : [],
    "ajax" : {
     url:"./sql-scripts-sponsoren/fetch.php",
     type:"POST"
    }
   });
  }
  
  function update_data(id, column_name, value) {
   $.ajax({
    url:"./sql-scripts-sponsoren/update.php",
    method:"POST",
    data:{id:id, column_name:column_name, value:value},
    success:function(data)
    {
     $('#alert_message').html('<div class="alert alert-success">'+data+'</div>');
     $('#user_data').DataTable().destroy();
     fetch_data();
    }
   });
   setInterval(function(){
    $('#alert_message').html('');
   }, 5000);
  }

  $(document).on('blur', '.update', function() {
   var id = $(this).data("id");
   var column_name = $(this).data("column");
   var value = $(this).text();
   update_data(id, column_name, value);
  });

  File.prototype.convertToBase64 = function(callback) {
    var reader = new FileReader();
    reader.onload = function(e) {
        callback(e.target.result)
    };
    reader.onerror = function(e) {
        callback(null, e);
    };        
    reader.readAsDataURL(this);
};
  
  $('#add').click(function(){
   var html = '<tr>';
   html += '<td contenteditable id="data1"></td>';
   html += '<td><input type="file" name="image" id="image"/></td>';
   html += '<td><button type="button" name="insert" id="insert" class="btn btn-success btn-xs">Insert</button></td>';
   html += '</tr>';
   $('#user_data tbody').prepend(html);
  });

  var IMAGE_BASE64;
  $(document).on('change', '#image',function(){
    var selectedFile = this.files[0];
    if (!selectedFile.name.match(/.(jpg|jpeg|png|gif)$/i)) {
    }
    else {
        selectedFile.convertToBase64(function(base64){
            IMAGE_BASE64 = base64;
            console.log(base64);
        })
    }
});
  
  $(document).on('click', '#insert', function() {
   var sponsoren_name = $('#data1').text();
   if (sponsoren_name == '') {
    sponsoren_name = "Default";
   }
   var image_name = IMAGE_BASE64;
   if(sponsoren_name != '' && image_name != '') {
    $.ajax({
     url:"./sql-scripts-sponsoren/insert.php",
     method:"POST",
     data:{sponsoren_name:sponsoren_name, image_name:image_name},
     success:function(data) {
      $('#alert_message').html('<div class="alert alert-success">'+data+'</div>');
      $('#user_data').DataTable().destroy();
      fetch_data();
     }
    });
    setInterval(function() {
     $('#alert_message').html('');
    }, 5000);
   } else {
    alert("Both Fields is required");
   }
  });
  
  $(document).on('click', '.delete', function() {
   var id = $(this).attr("id");
   if(confirm("Are you sure you want to remove this?")) {
    $.ajax({
     url:"./sql-scripts-sponsoren/delete.php",
     method:"POST",
     data:{id:id},
     success:function(data){
      $('#alert_message').html('<div class="alert alert-success">'+data+'</div>');
      $('#user_data').DataTable().destroy();
      fetch_data();
     }
    });
    setInterval(function() {
     $('#alert_message').html('');
    }, 5000);
   }
  });
 });
</script>

<?php include 'footer.php'; ?>

fetch.php:

<?php
//fetch.php
include '../dbData.php';
include '../getCity.php';

$connect = mysqli_connect($HostName, $HostUser, $HostPass, $DatabaseName);
$columns = array('sponsoren_name', 'image_name');

$query = "SELECT * FROM sponsoren
            JOIN Basic ON Basic.stadt=sponsoren.basic_stadt
            WHERE Basic.stadt='$CITY_NAME'";

$number_filter_row = mysqli_num_rows(mysqli_query($connect, $query));

$result = mysqli_query($connect, $query);

$data = array();

while ($row = mysqli_fetch_array($result)) {

    $sub_array = array();
    $sub_array[] = '<div contenteditable class="update" data-id="' . $row["id"] . '" data-column="sponsoren_name">' . $row["sponsoren_name"] . '</div>';
    $sub_array[] = '<div class="update" data-id="' . $row["id"] . '" data-column="image_name"><img src="' . $row['image_name'] . '" width="120" class="img-thumnail" /></div>';
    $sub_array[] = '<button type="button" name="delete" class="btn btn-danger btn-xs delete" id="' . $row["id"] . '">Delete</button>';
    $data[] = $sub_array;
}

function get_all_data($connect) {
    $query = "SELECT * FROM sponsoren
            JOIN Basic ON Basic.stadt=sponsoren.basic_stadt
            WHERE Basic.stadt='$CITY_NAME'";
    $result = mysqli_query($connect, $query);
    return mysqli_num_rows($result);
}

$output = array(
    "draw" => intval($_POST["draw"]),
    "recordsTotal" => get_all_data($connect),
    "recordsFiltered" => $number_filter_row,
    "data" => $data,
);

echo json_encode($output);

insert.php:

<?php
include '../dbData.php';
include '../getCity.php';
$connect = mysqli_connect($HostName, $HostUser, $HostPass, $DatabaseName);
if(isset($_POST["sponsoren_name"], $_POST["image_name"])) {
 $sponsoren_name = mysqli_real_escape_string($connect, $_POST["sponsoren_name"]);
 $image_name = mysqli_real_escape_string($connect, $_POST["image_name"]);
 $query = "INSERT INTO sponsoren(sponsoren_name, image_name, basic_stadt) VALUES('$sponsoren_name', '$image_name', '$CITY_NAME')";
 if(mysqli_query($connect, $query)) {
  echo 'Data Inserted';
 }
}
?>

0 个答案:

没有答案