Php 回调不工作

Php 回调不工作,php,mysql,ajax,Php,Mysql,Ajax,我已经创建了一个表,我可以在里面编辑td,它工作得很好。我编辑了产品名称,仅在我的网页上就成功更改了产品名称,但未更新到数据库中 我的数据库如下所示: jQuery(document).ready(function() { $.fn.editable.defaults.mode = 'popup'; $('.edit').editable(); $(document).on('click','.editable-submit',function(){

我已经创建了一个表,我可以在里面编辑
td
,它工作得很好。我编辑了产品名称,仅在我的网页上就成功更改了产品名称,但未更新到数据库中

我的数据库如下所示:

jQuery(document).ready(function() {  
    $.fn.editable.defaults.mode = 'popup';
    $('.edit').editable();     
    $(document).on('click','.editable-submit',function(){
        var x = $(this).closest('td').children('span').attr('id');
        var y = $('.input-sm').val();
        var z = $(this).closest('td').children('span');
        $.ajax({
            url: "edit.php?id="+x+"&data="+y,
            type: 'GET',
            success: function(s){
                if(s == 'status'){
                $(z).html(y);}
                if(s == 'error') {
                alert('Error Processing your Request!');}
            },
            error: function(e){
                alert('Error Processing your Request!!');
            }
        });
    });
});

以下是在
td
中编辑的代码

$results = $mysqli->query("SELECT * FROM productList");
while($row = $results->fetch_assoc()) {
    <td> <span class="edit" id="'.$row['ID'].'"> '.$row['name'].' </span> </td>
}
在AJAX之后,我必须调用url到
edit.php
edit.php
的代码如下:

$mysqli = new mysqli('localhost','root','root','database_name');
if ($mysqli->connect_error) {
    die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}

if($_GET['id'] and $_GET['name'])
{
    $id = $_GET['id'];
    $name = $_GET['name'];
    if ($mysqli->query("UPDATE productList SET name='$name' WHERE ID='$id'"));
    $mysqli->close();
    echo 'success';
}

我已经尝试在phpmyadmin中手动更新,它在那里工作得非常好。但不是在这里。现在应该可以用了。我遗漏了什么吗?

需要像下面这样更新代码。如果文件正常,您可以直接调用
edit.php?id=…&name=…
进行调试

jQuery:

$.ajax({
            url: "edit.php?id="+x+"&name="+y,
            type: 'GET',
            success: function(s){
                alert(s) ;
                if(s == 'status'){
                   $(z).html(y);
                }                    
            },
            error: function(e){
                alert(e.status);
            }
        });
PHP:


检查mysqli在尝试更新行时是否抛出错误。您能告诉我如何抛出错误吗?因为我使用的是AJAX,我对AJAX太陌生了。我尝试在edit.php中抛出一个错误,但它没有显示任何错误:/Hello谢谢您的提示,但是出现了一些错误,如处理您的请求时出现
错误
我无法获取它。
$.ajax({url:“edit productList.php?id=“+x+”&data=“+y,键入:'get'
我正在确认页面是否正确。但是对于
id
data
应该像ajax中那样,对吗?@Riadyou正在使用
$\u get['name']
但是为什么传递&data=…?请查看更新的答案
if($_GET['id'] && $_GET['name']) // this is not SQL! so and will not work!
{
    $id = $_GET['id'];
    $name = $_GET['name'];
    if ($result = $mysqli->query("UPDATE productList SET name='".$name."' WHERE ID='". $id."'")){

       $mysqli->close(); 
       echo 'success';
    }else{
        echo mysqli->error;
    }


}