我创建的数据库包含许多表彼此之间的关系,
我制作了一个表格,将书籍添加到名为book
的表格中。在此表中,有一个名为author_author_id
的列,其中包含表author
和user_user_id
中的ID相同的故事。名为genre
的另一个表与book
具有多对多关系。
我直接将用户,作者和流派id添加到数据库,但是我必须使用一个语句在书表中插入所有数据的查询究竟是什么!
我是php编码的新手,请原谅我的愚蠢和浅薄的问题以及我描述问题的方式。
答案 0 :(得分:1)
函数mysqli_insert_id()
返回最后插入的行的ID。
<?php
$link = // Connect to the database using the mysqli driver
// Create author (if not exists already)
mysqli_query($link, 'INSERT INTO authors (name, ...) VALUES ("author name", ...)');
$author_id = mysqli_insert_id($link, $link);
// Escape ID
$author_id = mysqli_real_escape_string($link, $author_id);
// Create the book
mysqli_query($link, 'INSERT INTO books (name, author_id ...) VALUES ("book name", ' . $author_id . ' ...)');
$book_id = mysqli_insert_id($link);
// Escape ID
$book_id = mysqli_real_escape_string($link, $book_id);
// Add the genres
mysqli_query($link, 'INSERT INTO genres (book_id, genre_id) VALUES (' . $book_id . ', ...)');
此代码使用过程mysqli_*
函数。这不是最干净的方法,上面的代码只能作为如何继续的指示。为了清洁代码(在PHP标准中),请查看PDO以获得更清晰的数据库访问模型。