0

那是我的jQuery代码:

$(function() {  
$("#edit_union").click(function() {
    var tuzove = $("#tuzove").val();
    var description = $("#description").val();
    var union_owner = $("#union_owner").val();
    var union_name = $("#union_name").val();
    var uid = $("#uid").val();
    var dataString = 'tuzove='+ tuzove + '&description=' + description + '&union_owner=' + union_owner + '&union_name=' + union_name + '&uid=' + uid;  
    $.ajax({  
        type: "POST",  
        url: "ajax/admp_ajax.php",  
        data: dataString,  
        success: function() {
            $(".adm_panel_serach_user").append("<br/><span style=' color: #0099ff; font-weight: bold;'>Success.</span>");
        }  
    });
    return false;
});
});

也就是 ajax/admp_ajax.php 页面:

include_once 'classes/admin_panel.php';
$admpanel = new adminPanal();

if ($_POST['tuzove'] && $_POST['description'] && $_POST['union_owner'] && $_POST['union_owner'] && $_POST['uid'])
$admpanel->editUnion($_POST['tuzove'], $_POST['description'], $_POST['union_owner'], $_POST['union_name'], $_POST['uid']);

那就是editUnion函数:

public function editUnion($tyzove, $description, $ownerName, $unionName, $unionId) {
    mysql_query("UPDATE `union` SET tuzove = '" . $tyzove . "', description = '" . mysql_real_escape_string($description) . "', owner_id = '" . $this->getUserId($ownerName) . "' WHERE name = '" . $unionName . "'");

    if ($ownerName == $ownerName)
        mysql_query("UPDATE users SET union_rank = '0', union_id = '0' WHERE username = '" . $ownerName . "'");

    mysql_query("UPDATE users SET union_rank = '1', union_id = '" . $unionId . "' WHERE username = '" . $ownerName . "'");
}

问题是,当我单击 edit_union 按钮时写入 Success,但不更新 union :(。

4

2 回答 2

1

好吧,无论 sql 查询是否失败,您的 php 页面都会返回一些内容。这意味着除非由于某种原因无法加载页面,否则将始终触发成功。SQL 失败不会导致它失败。

因此,您将始终打印成功,但更新本身可能会失败。尝试在浏览器中自行运行 php 页面并查看 sql 出现的任何错误。您还可以尝试使用 php 中的 echo 语句将 sql 查询打印到屏幕上,然后将它们复制到 sql 命令行或 phpmyadmin 等。

还要注意的是,由于您的查询信息来自表单/输入字段,因此您需要非常小心以防止 sql 注入等。研究使用 mysqli 和准备好的语句。

于 2012-07-10T09:57:54.827 回答
0

您的ajax成功函数没有做任何事情..它只是更新成功...根据JS方面这很好..检查正在发送的数据,..不要使用dataString ..infact 创建数据对象

var dataObject=new Object();
dataObject.union_name=union_name;

调试您的服务器端代码..我认为数据未成功提交。

于 2012-07-10T09:59:29.083 回答