0

我在 php 中创建了一个函数来向表中添加一些信息。但是,ID 是在输入时创建的。但是我需要该 ID 才能执行另一项任务,但我实际上不确定如何获取该条目。

所以我的功能是这样的:

addSkillset($agent, $computing, $tactical, $driving);

这样做:

function addProperty($agent, $computing, $tactical, $driving) {
    $mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME);
    if (!$mysqli) {
            die('There was a problem connecting to the database.');
    }
    else {
    $query = "INSERT INTO Skillset VALUES (NULL, '$agent', '$computing', '$tactical', '$driving')";
    }
    if ($Results = mysql_query($query)){
    echo "added";
    }
    $mysqli->close();
}

所以在这个查询中,“NULL”位是我试图识别和返回的。

我想我必须说:

if ($Results = mysql_query($query)){
    $somesortofvariable = somesortofcommand;
    return $somesortofvariable;
}

但我不完全确定。

4

2 回答 2

1

您正在寻找mysqli_insert_id()

if ($Results = mysqli_query($query)){
    $somesortofvariable = mysqli_insert_id();
    return $somesortofvariable;
}
于 2013-01-29T08:22:43.710 回答
1

也许你应该考虑使用mysql_insert_id()

if($Results = mysqli_query($query))
{
    return mysqli_insert_id();
}

但请注意,API 参考文档顶部的红色大框:

此扩展自 PHP 5.5.0 起已弃用,并将在未来删除。相反,应该使用MySQLiPDO_MySQL扩展。另请参阅MySQL:选择 API指南和相关的常见问题解答以获取更多信息。此功能的替代方案包括:

我确实注意到您正在使用 MySQLi,但您正在运行标准的mysql_query(). 也许这是您的代码的错字,但我想我会提到它以防万一......

于 2013-01-29T08:24:29.660 回答