首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >即使正确插入记录也会出错

即使正确插入记录也会出错
EN

Stack Overflow用户
提问于 2014-02-27 09:09:56
回答 1查看 98关注 0票数 0

为什么即使我的记录插入到数据库中,jquery中也会出现错误?我在代码中添加一些更改,将其转换为mysqli函数。但问题是错误信息出来了吗?为什么会这样呢?

错误消息来自下面的脚本

这是我的密码

脚本

代码语言:javascript
运行
复制
$(document).ready(function(){

    $("#save").click(function(){
        ajax("save");
    });

    $("#add_new").click(function(){
        $(".entry-form").fadeIn("fast");    
    });

    $("#close").click(function(){
        $(".entry-form").fadeOut("fast");   
    });

    $("#cancel").click(function(){
        $(".entry-form").fadeOut("fast");   
    });

    $(".del").live("click",function(){
        if(confirm("Do you really want to delete this record ?")){
            ajax("delete",$(this).attr("id"));
        }
    });

    function ajax(action,id){
        if(action =="save")
            data = $("#userinfo").serialize()+"&action="+action;
        else if(action == "delete"){
            data = "action="+action+"&item_id="+id;
        }

        $.ajax({
            type: "POST", 
            url: "ajax.php", 
            data : data,
            dataType: "json",
            success: function(response){
                if(response.success == "1"){
                    if(action == "save"){
                        $(".entry-form").fadeOut("fast",function(){
                            $(".table-list").append("<tr><td>"+response.cat_name+"</td><td>"+response.cat_code+"</td><td>"+response.letter+"</td><td><a href='#' id='"+response.row_id+"' class='del'>Delete</a></td></tr>");   
                            $(".table-list tr:last").effect("highlight", {
                                color: '#4BADF5'
                            }, 0000);
                        }); 
                        $(".entry-form input[type='text']").each(function(){
                            $(this).val("");
                        });                     
                    }else if(action == "delete"){
                        var row_id = response.item_id;
                        $("a[id='"+row_id+"']").closest("tr").effect("highlight", {
                            color: '#4BADF5'
                        }, 0000);
                        $("a[id='"+row_id+"']").closest("tr").fadeOut();
                    }
                }else{
                    alert("unexpected error occured, Please check your database connection");
                }
            },
            error: function(res){
                alert("Unexpected error! Try again.");
            }
        });
    }
});

AJAX

代码语言:javascript
运行
复制
<?php
error_reporting(0);
$mysqli = new mysqli("localhost", "root", "", "2015");
if(isset($_POST) && count($_POST)){
    $cat_name = $mysqli->real_escape_string($_POST["cat_name"]);
    $cat_code = $mysqli->real_escape_string($_POST["cat_code"]);
    $letter = $mysqli->real_escape_string($_POST["letter"]);
    //$phone = mysql_real_escape_string($_POST['phone']);
    $item_id = $_POST['item_id'];
    $action = $_POST['action'];

    if($action == "save"){
        $result = $mysqli->query("insert into category values('','".$cat_name."','".$cat_code."','".$letter."')");
        $lid = mysqli_insert_id();
        if($lid){
            echo json_encode(
                array(
                "success" => "1",
                "row_id" => $lid,
                "cat_name" => htmlentities($cat_name),
                "cat_code" => htmlentities($cat_code),
                "letter" => htmlentities($letter),
                //"phone"=>$unique_id,
                )
            );
        }else{
            echo json_encode(array("success" => "0"));
        }
    }
    else if($action == "delete"){
        //echo "delete from info where id = '".$item_id."'";
        $res = $mysqli->query("delete from category where id = '".$item_id."'");
        if($res){
            echo json_encode(array( "success" => "1","item_id" => $item_id));
        }else{
            echo json_encode(array("success" => "0"));
        }
    }
}else{
    echo json_encode(array("success" => "0"));
}
?>
EN

回答 1

Stack Overflow用户

发布于 2014-02-27 09:32:36

这样啊,原来是这么回事。mysqli_insert_id()需要数据库的连接。

应该是这样的

代码语言:javascript
运行
复制
mysqli_insert_id($mysqli);
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22063805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档