Php MYSQL使用另一个表中的外键将数据插入表中
我有两张桌子:Php MYSQL使用另一个表中的外键将数据插入表中,php,html,mysql,Php,Html,Mysql,我有两张桌子:书和借来的书 Book表中有Book\u ID | Book Name 借书有学生ID |书名 两个表中的书名都已编入索引 我将Book表的值添加到HTML表单select/option中,它正在被读取,但问题是当我尝试插入值时,它没有读取选项名称或值 HTML: <select id="heard" class="form-control"> <option value="">Choose Book</option> <?php req
书
和借来的书
Book
表中有Book\u ID | Book Name
借书
有学生ID |书名
两个表中的书名都已编入索引
我将Book表的值添加到HTML表单select/option中,它正在被读取,但问题是当我尝试插入值时,它没有读取选项名称或值
HTML:
<select id="heard" class="form-control">
<option value="">Choose Book</option>
<?php require_once '../mysql/bookssql.php';
while($row = mysqli_fetch_array($data, MYSQLI_ASSOC)){
echo '<option name="borrow_book" value="'.$row['Title'].'">' .$row['Title']. '</option>';
}
?>
</select>
<?php $borrow_book = $_POST['borrow_book'];
$upload = "INSERT INTO `borrowed_books` (`student_ID`, `Book Name`) VALUES ('23, '$borrow_book');";
?>
选书
PHP插入代码:
<select id="heard" class="form-control">
<option value="">Choose Book</option>
<?php require_once '../mysql/bookssql.php';
while($row = mysqli_fetch_array($data, MYSQLI_ASSOC)){
echo '<option name="borrow_book" value="'.$row['Title'].'">' .$row['Title']. '</option>';
}
?>
</select>
<?php $borrow_book = $_POST['borrow_book'];
$upload = "INSERT INTO `borrowed_books` (`student_ID`, `Book Name`) VALUES ('23, '$borrow_book');";
?>
名称应位于
元素中,而不是
s中
<select id="heard" name="borrow_book" class="form-control">
<option value="">Choose Book</option>
<?php require_once '../mysql/bookssql.php';
while($row = mysqli_fetch_array($data, MYSQLI_ASSOC)){
echo '<option value="'.$row['Title'].'">' .$row['Title']. '</option>';
}
?>
</select>
选书
您在$upload
中有一个输入错误,在23
之前有一个额外的“
您应该停止将变量直接替换到查询字符串中,并使用带参数的准备语句。请参见外键应该是图书ID,而不是图书名称。'23,
有一个额外的引号。