我是一名学生,我刚刚开始使用php和mysql。如果对此帖子有任何错误,我深表歉意。
我已经花了几个小时尝试自己做..感觉很蠢。
抱歉,我没有找到其他可以解决此问题的问题。
拜托,我该如何工作?
我有2个具有auto_increment ID的表:
表1
bookid | bookTitle | authorid
1 | book1 | 1
表2
authorid | authorname| bookid
1 | author1 | 1
我有一个表格,其中包含书籍的输入值和作者的输入值,如何插入这本新书并获得现有作者的信息? 在我的代码的下面找到一些代码,这不是全部代码,我想我只是缺少逻辑查询,无法在表2中找到作者姓名并将书插入其中。 我想将t2中存在的authorid包括到这本书中。
// dbFunction file
function addBook($booktitle, $name)
$sql = "INSERT INTO book(bookTitle) VALUES (:booktitle)";
$sql = "INSERT INTO author(Name) VALUES (:name)
// controller
require ("dbFunctions.php");
if($_POST['action_type'] == 'add'){
$query = $conn->prepare( "SELECT authorname FROM author WHERE authorname = :name");
$query->bindvalue(":name", $name);
$query->execute();
if( $query->rowCount() > 1 ) {
$querySuccess = addBook($booktitle, $authorname) // calling function
if($ query-> rowCount()> 1,即使存在,也会插入书籍和作者信息,并复制作者和ID。
if($ query-> rowCount()<1,它将插入书籍和作者。
谢谢。
答案 0 :(得分:-1)
在您编辑帖子时,我想我理解您的意思。但是,在我可以回答您的问题之前,您需要进行一些更改。
book id
。如果您发现自己在两个表之间可能有多个表(您将拥有一个表)的情况,则需要制作一个many-to-many
relation。 因此,我建议您执行的步骤是:
HTML
select box或数据列表SELECT * FROM authors WHERE id = :id
)将ID用作数据列表或select语句中的值