INSERT查询根本不添加

时间:2014-01-23 01:33:35

标签: php html mysql insert

我已经对我的插入语句进行了条带化​​并重新构建它,认为可以解决问题,但事实并非如此。 该声明根本不会添加任何数据,任何人都可以看到它无效的原因吗?

的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 ;

连接没有任何问题,因为许多插入更新和删除查询都使用它。

1 个答案:

答案 0 :(得分:3)

您的查询没问题。

您的表格包含多个声明为not null的字段,例如stockinformation,依此类推。它们没有默认值,因此insert失败。

您有多种选择:

  • 将列更改为允许NULL
  • insert
  • 中为其提供值
  • 提供默认值