我在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>
';
}
请帮助我们,我没有为我的问题找到任何解决方案
答案 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部分。