首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php mysqli_insert_id()期望参数1为mysqli

问php mysqli_insert_id()期望参数1为mysqli
EN

Stack Overflow用户
提问于 2014-12-11 15:36:11
回答 4查看 10.9K关注 0票数 1

这是我的密码

代码语言:javascript
复制
$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)

这是个例外

代码语言:javascript
复制
Warning: mysqli_insert_id() expects parameter 1 to be mysqli, boolean given in C:\xampp2\htdocs\XXX\controllers\User.php on line 24

第24行是return mysqli_insert_id($result)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-12-11 15:37:24

在mysqli中使用mysql。不能同时使用,必须选择要使用的MySQL扩展。

如果mysqli:

尝试使用mysqli连接和mysqli选择db

如果mysql:

使用id()而不是mysqli_insert_id()

我会亲自使用PDO,mysql被降级了:

代码语言:javascript
复制
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();
}

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

票数 6
EN

Stack Overflow用户

发布于 2014-12-11 15:38:19

对于所使用的MySQL扩展,您必须保持一致。如果使用的是mysql扩展,则必须使用mysql_insert_id(),而不是mysqli_insert_id()。

如果您重写所有代码以使用mysqli或PDO扩展会更好,因为不推荐使用mysql扩展。但这并不是一种替代,它的语法有点不同。

票数 3
EN

Stack Overflow用户

发布于 2014-12-11 15:39:20

您可以将mysql与mysqli混合使用,错误消息中提到的boolean是FALSE。您的INSERT查询失败,因为它没有提供要插入的任何值。它在()上有语法错误。

试试这个:

代码语言:javascript
复制
$result = mysql_query("INSERT INTO `user` (`name`) VALUES ('John Doe')");
return mysql_insert_id($result);

不使用使用mysql_*函数。mysql扩展是自PHP5.5以来被弃用,将来将被删除。使用mysqli或PDO。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27426593

复制
相关文章

相似问题

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