mysqli_error()只需要1个参数

时间:2018-05-09 12:44:40

标签: php mysqli

我在php中添加一本简单的书时出错了 我在数据库中的book表包含以下字段:

book_id book_title book_description book_category book_author date_publish qty 瞧瞧d' ajout d' un livre qui s' appelle save_book_query

<?php
require_once 'connect.php';
if(ISSET($_POST['save_book'])){
    $book_title = $_POST['book_title'];
    $book_desc = $_POST['book_desc'];
    $book_category = $_POST['book_category'];
    $book_author = $_POST['book_author'];
    $date_publish = $_POST['date_publish'];
    $qty = $_POST['qty'];
    $conn->query("INSERT INTO `book` (book_title,book_desc,book_category,book_author,date_publish,qty) VALUES ('', '$book_title', '$book_desc', '$book_category', '$book_author', '$date_publish', '$qty')") or die (mysqli_error() );

    echo'
        <script type = "text/javascript">
            alert("Successfully saved data");
            window.location = "book.php";
        </script>
    ';
}

出现的错误如下:

( ! ) Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\wamp64\www\LibrarySystem\save_book_query.php on line 10
Call Stack
#   Time    Memory  Function    Location
1   0.0014  244728  {main}( )   ...\save_book_query.php:0
2   0.0287  254360  mysqli_error ( )    ...\save_book_query.php:10

在修改页面中,我使用了相同方法的mysqli_error,没有检测到错误,修改成功完成 这是我的页面edit_book_query.php

<?php
require_once 'connect.php';
if(ISSET($_POST['edit_book'])){
    $book_title = $_POST['book_title'];
    $book_desc = $_POST['book_desc'];
    $book_category = $_POST['book_category'];
    $book_author = $_POST['book_author'];
    $date_publish = $_POST['date_publish'];
    $qty = $_POST['qty'];
    $conn->query("UPDATE `book` SET `book_title` = '$book_title', `book_description` = '$book_desc', `book_category` = '$book_category', `book_author` = '$book_author', `date_publish` = '$date_publish', `qty` = '$qty' WHERE `book_id` = '$_REQUEST[book_id]'") or die(mysqli_error());
    echo '
        <script type = "text/javascript">
            alert("Save Changes");
            window.location = "book.php";
        </script>
    ';
}

请帮助我们,我没有为我的问题找到任何解决方案

2 个答案:

答案 0 :(得分:5)

如果你执行以下操作,你会忘记一件至关重要的事情,当使用mysqli_ *函数时,他们需要传递连接,所以这应该解决它;

$conn->query("/* Your query here */") or die(mysqli_error($conn));

此功能的说明书中对此进行了解释;
http://php.net/manual/en/mysqli.error.php

RTM案例:)

答案 1 :(得分:-1)

除了$conn中缺少die(mysqli_error($conn));之外,您可能无法访问mysqli_error部分,因为您在插入查询中发送和期望的变量数量不同。 您在书名前发送空值,但未在您期望的字段中定义。

更新查询成功,但未到达mysqli_error部分。

相关问题