我已经对我的插入语句进行了条带化并重新构建它,认为可以解决问题,但事实并非如此。 该声明根本不会添加任何数据,任何人都可以看到它无效的原因吗?
的index.php
<form method="post" action="insert.php">
Name Of Band:</br>
<input type="text" name="Name" /><br />
Show Name:</br>
<input type="text" name="show" /><br />
Venue:</br>
<input type="text" name="Venue" /><br />
Category:</br>
<input type="text" name="Category" /><br />
Price:</br>
<input type="text" name="price" /><br />
Stock:</br>
<input type="text" name="Stock" /><br />
Infomation:</br>
<input type="text" name="infomation" /><br />
<input type="submit" value="Add Band"/>
</form>
insert.php
<?php
require 'core/init.php';
$Name = $_REQUEST["Name"];
$show = $_REQUEST["show"];
$Venue = $_REQUEST["Venue"];
$Category = $_REQUEST["Category"];
$price = $_REQUEST["price"];
$Stock = $_REQUEST["Stock"];
$infomation = $_REQUEST["infomation"];
$query = "INSERT INTO `bands` (`Name`, `show`, `Venue`, `Category`, `price`, `Stock`, `infomation`) VALUES ('$Name', '$show', '$Venue', '$Category', '$price', '$Stock', '$infomation')";
mysql_query ($query, $linkme)
or die ("could not add to database");
header("location:admin.php");
?>
架构
DROP TABLE IF EXISTS `bands`;
CREATE TABLE IF NOT EXISTS `bands` (
`Band_id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(20) NOT NULL,
`show` varchar(22) NOT NULL,
`Venue` varchar(20) NOT NULL,
`Category` varchar(20) NOT NULL,
`price` int(11) NOT NULL,
`Stock` int(11) NOT NULL,
`infomation` varchar(20) NOT NULL,
PRIMARY KEY (`Band_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ;
连接没有任何问题,因为许多插入更新和删除查询都使用它。
答案 0 :(得分:3)
您的查询没问题。
您的表格包含多个声明为not null
的字段,例如stock
和information
,依此类推。它们没有默认值,因此insert
失败。
您有多种选择:
insert