0

我有一个下拉列表,其中选择了默认值。如果那里有值,则 if 语句允许更新数据。如果没有值,则将插入一整行。如果我将第三个值硬编码为 1,它会起作用。但是,当我将其设置为$category_of_taxom1插入时,它不起作用。更新工作正常,所以如果我在数据库中手动创建记录,我可以通过下面显示的更新 SQL 更新它。但是,如果我尝试 INSERT 没有运气?(我已经硬编码了要插入的前 3 个项目,第三个应该是上面提到的变量。

我有这个选择列表

      <select name="categorySelect1fromDB" >
<option value ="">EMPTY</option>';
      <option value="1" <?php echo ($category_of_taxom1 == 1)?"selected":""; ?>>A</option>
      <option value="2" <?php echo ($category_of_taxom1 == 2)?"selected":""; ?>>B</option>
      <option value="3" <?php echo ($category_of_taxom1 == 3)?"selected":""; ?>>C</option>
      <option value="4" <?php echo ($category_of_taxom1 == 4)?"selected":""; ?>>D</option>
</select> 

还有这组语句。

  if(isset($_POST['save']))
 {  
                  $category_of_taxom1 = $_POST['categorySelect1fromDB'];
                  $number_of_taxom1 = $_POST['number_of_taxom1'];

 if (!empty($category_of_taxom1)){ //This is the value fromDB if not empy then do below else do last

            pg_query("UPDATE record_tbl SET category_of_taxom ='$category_of_taxom1', number_of_taxom ='$number_of_taxom1' WHERE sheet_id = '$sheet_id' AND line = 1");
            echo "Updated!";

    } else 
            {

            pg_query("INSERT INTO record_tbl (line, taxom_id, category_of_taxom, number_of_taxom, sheet_id) VALUES (1,1,'$category_of_taxom1','$number_of_taxom1','$sheet_id')");

            echo "New Record ?Saved!";
}
}   

这是我在站点的其他地方使用的工作 pgsql 行的示例:

  $sql8 = "INSERT INTO record_tbl (line, taxom_id, category_of_taxom, number_of_taxom, sheet_id) VALUES (8,8,'$_POST[gammarus_numbers]','$_POST[countgammarus]','$sheetid')";
  $result = pg_query($sql8);
4

2 回答 2

0

我可能应该删除这个问题:引号是正确的,我在每个变量上都需要它们。但是由于代码太长,我无法将其全部发布在这里。我不小心调用了该变量两次。所以在某个时间点它确实有一些东西,但在同一个代码中它也可能没有。所以我最终不得不重命名我的变量。不是一个很好的答案,但无论如何都要删除它。因为这对其他人来说太窄了。

于 2013-08-08T15:15:59.727 回答
0

字段 'category_of_taxom' 的数据类型很可能设置为 varchar,这意味着在使用 INSERT 时它应该在值周围加上引号。所以你可以:

1) 在您的数据库中将 category_of_taxom 的数据类型更改为整数

2) 在您的 INSERT 语句中包含值的引号:

('1','1','1','$number_of_taxom1',$sheet_id)

相关文档: mysql - 是否引用数字?

于 2013-08-08T14:41:19.103 回答