零值插入数据库表中

时间:2012-10-31 06:57:50

标签: php mysql insert

这是我用来打开一个带有变量$ query_string的弹出窗口的代码段,用于保存表单中的条目。

    echo'<script language = "JavaScript" type="text/javascript">
        //<![CDATA[
        window.open(\'./save.php?'.$query_string.'\',\'save\',\'location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes\');

然后我习惯使用save.php来显示一个提交按钮,并编写一个insert语句将数据放入数据库。问题是数据库表中的行填充为0。是否犯了错误?

        if($_POST['formSubmit'] == "Submit") 
        {
            //appending the date to store in the database.
            $entry_date_array = array($_REQUEST["year"],$_REQUEST["month"],$_REQUEST["day"]);
            $entry_date = implode('-', $entry_date_array);
            echo "$entry_date";
            //appending aggr nr and fetching the id from the database.
            $aggr_nr = $_REQUEST['list_nr_01'].$_REQUEST['list_nr_02'].$_REQUEST['list_nr_03'];
            $sql="SELECT v.id FROM aggregatenumber AS v WHERE v.aggr_nr = '".$aggr_nr."'";//missing Quotes
            $aggr_id = @mysql_query($sql);
            $result = @mysql_fetch_array($aggr_id);
            $test= $result['id'];
            echo "$test";


        $sql_einl_sp = "INSERT INTO search_parts(entry_date,aggr_nr)values('".$entry_date."','".$test."')";
        $result_einl_sp = @mysql_query($sql_einl_sp);

HTML

    <body>
        <form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
        <h>Save Information</h>
    <input type="submit" name="formSubmit" value="Submit" />
    <input type="submit" name="btncancel" value="Cancel"/>
        </form>
    </body>

2 个答案:

答案 0 :(得分:1)

更改

$sql_einl_sp = "INSERT INTO search_parts(entry_date,aggr_nr)
                  values('".$entry_date."','".$test."')";

$sql_einl_sp = "INSERT INTO search_parts(entry_date,aggr_nr)
                 values('".$entry_date."',".$test.")";

答案 1 :(得分:1)

尝试打印查询以查看数据库的确切内容。

查询中的变量可能为空或0,或 您可能没有在表中正确定义此特定字段的数据类型。