我是一个PHP初学者,我正在做一个图书系统,我想在插入新书之前检查图书或作者是否已经在系统中。 条件是:
如果author不在系统中,则插入book和author;
如果作者在系统中,则检查图书当图书不在系统中时插入图书,
当图书也在系统中时,回显图书和作者已经在系统中。
我不知道如何添加检查书籍的条件,有没有人可以提供帮助,请。 谢谢。
if($_POST['actiontype'] == 'addbook') {
$query = $conn->prepare("SELECT * FROM author WHERE name = :name AND surname = :surname
AND Nationality = :nationality AND BirthYear = :yob AND DeathYear = :yod");
$query->bindValue(':name', $name);
$query->bindValue(':surname', $surname);
$query->bindValue(':nationality', $nationality);
$query->bindValue(':yob', $yob);
$query->bindValue(':yod', $yod);
$query->execute();
$row = $query->fetch(PDO::FETCH_ASSOC);
$authorId = $row['AuthorID'];
if ($query->rowCount() < 1) { //if rows are not found, add book and author
try {
addAuthorandBook($name, $surname, $nationality, $yob, $yod, $bt, $ot, $yop, $genre,
$sold, $lan, $cip, $plot, $ps, $date, $userid);
$_SESSION['message'] = "Author and Book added successfully";
header('location:../view/pages/dashboard.php');
}
catch(PDOException $e) {
echo "Book creation problems".$e -> getMessage();
die();
}
}
else { //author already exists in the database, add book only
try {
addBookOnly($bt, $ot, $yop, $genre, $sold, $lan, $authorId, $cip, $plot, $ps, $date, $userid);
$_SESSION['message'] = "Book added successfully";
header('location:../view/pages/dashboard.php');
}
catch(PDOException $e) {
echo "Book creation problems".$e -> getMessage();
die();
}
}
exit;
}
谢谢大家,我已经用了很长时间来完成它了。