这是我用来打开一个带有变量$ 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>
答案 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,或 您可能没有在表中正确定义此特定字段的数据类型。