获取新插入的行php的id

时间:2014-01-06 21:00:41

标签: php mysql row

我正在尝试从新插入的行中获取插入ID。我使用以下方法进行查询。但是我无法获得插入的ID。

function query($sql) {
    global $link;
        $debug = false;

    //get the sql query
    $args = func_get_args();
    $sql = array_shift($args);

    //secure the input
    for ($i=0;$i<count($args);$i++) {
        $args[$i] = urldecode($args[$i]);
        $args[$i] = mysqli_real_escape_string($link, $args[$i]);
    }

    //build the final query
    $sql = vsprintf($sql, $args);

    if ($debug) print $sql;

    //execute and fetch the results
    $result = mysqli_query($link, $sql);

        $id = $result->insert_id; //no result, what do I put here?

    if (mysqli_errno($link)==0 && $result) {

        $rows = array();

        if ($result!==true)
        while ($d = mysqli_fetch_assoc($result)) {
             array_push($rows,$d);
        }
        //return json
        return array('result'=>$rows, 'id'=>$id);

    } else {

        //error
        return array('error'=>'Database error');
    }
}

如何修改此方法以获取插入ID?

2 个答案:

答案 0 :(得分:0)

$id = mysqli_insert_id($link);

此值将被称为“身份”,在搜索与此相关的信息时请记住这一点。

答案 1 :(得分:0)