“mysqli_insert_id”的问题

时间:2014-02-07 22:51:44

标签: mysql

需要一些帮助才能将产品添加到数据库中。在“mysqli_insert_id”行上报告错误这是我的代码:

// Add this product into the database now
    $sql = mysqli_query($myConnection,"INSERT INTO products (product_name, price, details, category, subcategory, date_added) 
        VALUES('$product_name','$price','$details','$category','$subcategory',now())") or die (mysql_error());
     $pid = mysqli_insert_id($sql);
    // Place image in the folder 
    $newname = "$pid.jpg";
    move_uploaded_file( $_FILES['fileField']['tmp_name'], "../inventory_images/$newname");
    header("location: inventory_list.php"); 
    exit();

以下是它产生的错误:

Warning: mysqli_insert_id() expects parameter 1 to be mysqli, boolean given in /.....line 45

“有趣的是它仍然将文本插入到数据库中,并且它显示在我的网站上,但如果我添加其他产品,我仍然会收到错误。

我的表确实在ID上设置了Auto_Increment

非常感谢任何帮助。拉尔夫

1 个答案:

答案 0 :(得分:3)

检查documentation是否有mysqli_insert_id():

mixed mysqli_insert_id ( mysqli $link )

函数的参数应该是您的$myConnection资源,而不是INSERT语句的$sql结果。

运行INSERT语句时,mysqli_query()成功时返回TRUE,失败时返回FALSE。 所以你传递布尔值TRUE而不是连接资源。