<!DOCTYPE html>
<html>
<head>
<title>Book-O-Rama Book Entry Results</title>
<style type="text/css">

</style>
<script type="text/javascript"></script>
<script>

</script>
</head>
<body>
<h1>Book-O-Rama Book Entry Result</h1>
<?php
//create short variable names
$isbn = $_POST['isbn'];
$author = $_POST['author'];
$title = $_POST['title'];
$price = $_POST['price'];

if ( !$isbn || !$author || !$title || !$price ) {
echo "You have not entered all the required details.<br/>"."Please go back and try again.";
exit;
}
if ( !get_magic_quotes_gpc() ) {
$isbn = addslashes($isbn);
$author = addslashes($author);
$title = addslashes($title);
$price = doubleval($price);
}

@ $db = new mysqli('localhost', 'bookorama', 'bookorama123', 'books');
if ( mysqli_connect_errno() ) {
echo "Error: Could not connect to database. Please try again later.";
exit;
}

$query = "insert into books values ('$isbn', '$author', '$title', '$price')or die(mysql_error())";
;

echo $query;

$result = $db->query($query);

if ( $result ) {
echo mysqli_affected_rows." book inserted into database.";
} else {
echo mysql_errno()."".mysql_error();
echo "An error has occurred.The item was not added.";
}

$db->close();

?>
</body>
</html>这是来自PHP和 MySQL web开发(第四版)中的一段代码。
我想问的是为什么最后总是输出An error has occurred.The item was not added
而且插入结果$result = -1 
请大家指点一下

解决方案 »

  1.   

      $query = "insert into books values ('$isbn', '$author', '$title', '$price')";        
            echo $query;
            
            $result = $db->query($query) or die($db->error);
      

  2.   

    谢谢,又学会了一点。
    问题已经解决了
      $query = "insert into books values ('$isbn', '$author', '$title', '$price')or die(mysql_error())";
    去掉or以后的部分加到  $result = $db->query($query) or die($db->error);就可以看到你的错误了。
      

  3.   

    ++应该就是这个问题了。die写错地方了