以 php 形式显示外键值并通过下拉菜单将它们添加到 table 数据库
displaying foreign key values in php form and adding them to table database via drop down menu
所以我正在做我的项目,我确实卡在了这一部分,我想显示数据库中的外键值,并通过 selection 从下拉菜单中添加它们。这些值将被添加到新的 table 作为另一个值的 select 离子(听起来有点混合)。所以我设法让值显示在我的下拉菜单中表格(外国限制)我可以 select 他们,但是一旦我提交表格我就得到一个错误。
图书插入查询 Failed.You 您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在 ''category', $'bookclub', '2015-04-19 10:31:09')' 附近使用的正确语法第 1 行
我在一页中同时使用了 php 和 html,我想这对我来说更容易,所以这是我的代码:
获取和select外部约束的代码:
<div class='container'>
<label for='</select>' >Book Club: </label><br/>
<?php
include('include/databaseconnection.php');
$sql = "SELECT name FROM bookclubs";
$result = mysql_query($sql);
echo "<select name='bookclub'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['name'] . "'>" . $row['name'] . "</option>";
}
echo "</select>";
?>
</div>
向数据库插入值的代码:
<?php
//Php for record inserted text
//db connection
include('include/databaseconnection.php');
// Initializing variables
$title = '';
$author = '';
$category = '';
$bookclub = '';
$submit = 'submit';
if(isset($_POST['submit'])){
// if submit button is pressed
$title = $_POST['title'];
$author =$_POST ['author'];
$category =$_POST ['category'];
$bookclub = $_POST ['bookclub'];
$date = date('Y-m-d H:i:s');
if ($db_con == TRUE) {
$insertValue = "INSERT INTO books VALUES ('$title','$author', $'category', $'bookclub', '$date')";
$queryInsert = mysql_query($insertValue) or die ('Book Insertion Query Failed.'.mysql_error());
if (mysql_affected_rows() == 1) { echo "Record was successfully inserted";}}
else { exit;} }
?>
我认为错误出在 selection 和外键输入到新的 table 上。
当前使用 xammp 和数据库是 mysql 服务器。
P.s 是 php 的初学者,知道如何玩转代码,但不能把它们写下来
SQL 请求中有一个拼写错误,即变量 $insertValue
,第三列 $'category'
应该是 '$category'
,这甚至适用于您要插入的下一列(bookclub
).
此外,这种向数据库插入数据会导致 SQL injection,为了您自己的安全,您应该在发布应用程序之前修复它。
最后 - table bookclubs
的数据库主键中的列“name
”?如果没有,我宁愿使用读书俱乐部的 PK 来识别 <option>
(在其值中)。
您的代码有错误
尝试$insertValue = "INSERT INTO books VALUES ('$title','$author', '$category', $bookclub', '$date')";
另外,我会尽量避免在标记中使用尖括号作为输出字符串,这只会造成混淆。
所以我正在做我的项目,我确实卡在了这一部分,我想显示数据库中的外键值,并通过 selection 从下拉菜单中添加它们。这些值将被添加到新的 table 作为另一个值的 select 离子(听起来有点混合)。所以我设法让值显示在我的下拉菜单中表格(外国限制)我可以 select 他们,但是一旦我提交表格我就得到一个错误。
图书插入查询 Failed.You 您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在 ''category', $'bookclub', '2015-04-19 10:31:09')' 附近使用的正确语法第 1 行
我在一页中同时使用了 php 和 html,我想这对我来说更容易,所以这是我的代码:
获取和select外部约束的代码:
<div class='container'>
<label for='</select>' >Book Club: </label><br/>
<?php
include('include/databaseconnection.php');
$sql = "SELECT name FROM bookclubs";
$result = mysql_query($sql);
echo "<select name='bookclub'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['name'] . "'>" . $row['name'] . "</option>";
}
echo "</select>";
?>
</div>
向数据库插入值的代码:
<?php
//Php for record inserted text
//db connection
include('include/databaseconnection.php');
// Initializing variables
$title = '';
$author = '';
$category = '';
$bookclub = '';
$submit = 'submit';
if(isset($_POST['submit'])){
// if submit button is pressed
$title = $_POST['title'];
$author =$_POST ['author'];
$category =$_POST ['category'];
$bookclub = $_POST ['bookclub'];
$date = date('Y-m-d H:i:s');
if ($db_con == TRUE) {
$insertValue = "INSERT INTO books VALUES ('$title','$author', $'category', $'bookclub', '$date')";
$queryInsert = mysql_query($insertValue) or die ('Book Insertion Query Failed.'.mysql_error());
if (mysql_affected_rows() == 1) { echo "Record was successfully inserted";}}
else { exit;} }
?>
我认为错误出在 selection 和外键输入到新的 table 上。 当前使用 xammp 和数据库是 mysql 服务器。 P.s 是 php 的初学者,知道如何玩转代码,但不能把它们写下来
SQL 请求中有一个拼写错误,即变量 $insertValue
,第三列 $'category'
应该是 '$category'
,这甚至适用于您要插入的下一列(bookclub
).
此外,这种向数据库插入数据会导致 SQL injection,为了您自己的安全,您应该在发布应用程序之前修复它。
最后 - table bookclubs
的数据库主键中的列“name
”?如果没有,我宁愿使用读书俱乐部的 PK 来识别 <option>
(在其值中)。
您的代码有错误
尝试$insertValue = "INSERT INTO books VALUES ('$title','$author', '$category', $bookclub', '$date')";
另外,我会尽量避免在标记中使用尖括号作为输出字符串,这只会造成混淆。