ajax PHP将不一致的结果保存到数据库

ajax PHP将不一致的结果保存到数据库,php,jquery,ajax,Php,Jquery,Ajax,请参阅以下代码: 当我去编辑数据时,返回的一个字段“状态”的已保存数据可以正确保存,或者有时在保存时删除一些字母。 在状态字段中有三个可能的值“credit”、“debit”或“visa”。 返回并正确保存“借方”和“visa”值,但保存的某些贷方值仅为“cr”,即使保存前文本框显示“贷方”…即使在保存前清除字段并键入“贷方”也没有帮助 CurrentPage.EditItem = function(id) { if (confirm('Are you sure?')) { consol

请参阅以下代码:

当我去编辑数据时,返回的一个字段“状态”的已保存数据可以正确保存,或者有时在保存时删除一些字母。 在状态字段中有三个可能的值“credit”、“debit”或“visa”。 返回并正确保存“借方”和“visa”值,但保存的某些贷方值仅为“cr”,即使保存前文本框显示“贷方”…即使在保存前清除字段并键入“贷方”也没有帮助

CurrentPage.EditItem = function(id) {
if (confirm('Are you sure?')) {
    console.log("DetailPage :: edit");
    var name = $("#name").val();
    var itemm = $("#itemm").val();
    var amount = $("#amount").val();
    var status = $("#status").val();
    var Uid = localStorage.getItem("Uid");
    //formData = {
     //   UId: sessionStorage.userId,
       // itemm: $("#name").val(),
       // amount: $("#amount").val(),
       // status: $("#status").val(),
      // }
     if (itemm == "") {
        alert("Please enter item");
    } else if (amount == "") {
        alert("Please enter office amount");
    } else if (status == "") {
        alert("Alert", "Please enter phone status");
    } else {
        $.ajax({
            type:'POST',
            url:'http://www.mywebsite.com/edit.php',
            data:{'Uid':Uid,'itemm':itemm,'amount':amount,'status':status},
             crossDomain: true, // enable this
            success: function(data) {
                alert("Edit item success");
                window.location.href = "listof.html"    
            },
            error: function() {
                alert("Edit user gone wrong");
            }

            });
            }
}
};
HTML


  • 项目:
  • 金额:
  • 状态:
编辑项 删除项目
PHP


a)易受攻击b)没有提供关于后端数据库结构的详细信息c)指定text/json作为输出,然后输出最肯定不是json的纯文本d)没有提供关于您所做的调试类型的详细信息,比如执行
var_dump($\u POST)
以查看服务器上出现了什么@MarcB指出,您应该真正解决sql注入的问题,至于这个问题,请发布表的结构balance1+表的排序和编码。和字段。a)将解析为sql注入。。现在正在测试b)MySQL:id、int.itemm、varchar、排序规则utf8\u general\u ci。金额、内部状态、varchar、排序规则utf8\U常规\U ci。(唯一的问题是这个字段-已将列名更改为Status,但没有帮助)c)未使用json文本d)不是100%如何使用var_dump?我对它进行了排序。。。。奇怪的一个。。。我正在使用Ripple模拟器。。。一旦我回到正常的视野,一切都很好…真的很奇怪…我浪费了一周的时间。。。谢谢大家。。也许我应该调查一下ripple为什么会造成这种情况?嗯
<div class="car">
    <ul class="view">
        <li >Item:</li>

        <li ><input id="itemm" name="itemm" type="text"></li>

        <li >Amount:</li>

        <li ><input id="amount" name="amount" type="text"></li>

        <li >Status:</li>

        <li ><input id="status" name="status" type="text"></li>


    </ul>
   </div>
   <div class="car" style="margin-bottom:40px;">
        <button id="edit" class="btn btn-positive btn-block" onclick="currentPage.EditItem();">EDIT ITEM</button>
   </div>
   <div class="car" style="margin-bottom:40px;">
        <button class="btn btn-negative btn-block" onclick="currentPage.deleteItem();">REMOVE ITEM</button>
<?php

header('Content-type: application/json');
$con=mysqli_connect("localhost","mxxxxxx","xxxxx89x78x","ccxcxcxcxc_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$itemm_id = $_POST['Uid'];
$itemm_itemm = $_POST['itemm'];
$itemm_amount = $_POST['amount'];
$itemm_status = $_POST['status'];

$qry = "UPDATE balance1 SET itemm = '$itemm_itemm', amount = '$itemm_amount' , status = '$itemm_status' 
WHERE id ='$itemm_id'";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "1 record updated";

mysqli_close($con);

 ?>