php mysqli_insert_id()期望参数1为mysqli

Mar*_*oli 0 php

这是我的代码

$conn = mysql_connect($serverName, $username, $password)
        or die("Unable to connect to MySQL");
    $selected = mysql_select_db($databaseName,$conn)
        or die("Could not find the database");
    $result = mysql_query("INSERT INTO `user` () VALUES ()");
    return mysqli_insert_id($result)
Run Code Online (Sandbox Code Playgroud)

这是个例外

Warning: mysqli_insert_id() expects parameter 1 to be mysqli, boolean given in C:\xampp2\htdocs\XXX\controllers\User.php on line 24
Run Code Online (Sandbox Code Playgroud)

而第24行是 return mysqli_insert_id($result)

Dem*_*ave 5

你正在使用mysql与mysqli.您不能同时使用两者,您必须选择要使用的MySQL扩展.

如果mysqli:

尝试使用mysqli connectmysqli选择db

如果是mysql:

使用mysql_insert_id(),而不是mysqli_insert_id()

我会自己使用PDO,mysql被删除:

try 
{
    // Connect to your database
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // Put your insert statement
    $sql = "INSERT INTO `user` () VALUES ()";

    // use exec() because no results are returned
    $conn->exec($sql);

    $last_id = $conn->lastInsertId();

    echo "New record created successfully. Last inserted ID is: " . $last_id;
}
catch(PDOException $e)
{
    echo $sql . "<br />" . $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)

更新: MySQL扩展:已被删除,不再可用