表中传递的所有零值

时间:2012-12-20 22:30:59

标签: php mysql

当我执行此代码时,我只会将零插入到我的数据库中。为什么?我该怎么做才能解决这个问题?

<select class="date" name="year"> <option value="">Year</option>
<?php $i=1; while($i<=31) { ?>
<option value="<?php $i ?>"> <? echo $i; ?> </option>
<?php $i++; } ?> </select>

这是我的mysql代码:

$sql="INSERT INTO information ( Year ) 
VALUES ('$_POST[year]')";

2 个答案:

答案 0 :(得分:2)

<select class="date" name="day"> <option value="">Day</option>
<?php $i=1; while($i<=31) { ?>
<option value="<?php echo $i; ?>"> <?php echo $i; ?> </option>
<?php $i++; } ?> </select>

始终使用<?php?>,以便您的浏览器识别PHP

另外,还有第一个<?php $i ?>

我将其更改为echo $i;,并在同一行中将<? echo $i; ?> </option>更改为<?php echo $i; ?> </option>

它对我有用。

使用您的插入内容:

$sql="INSERT INTO information (COL_FOR_DAY) 
VALUES ('{$_POST['day']}')";

答案 1 :(得分:2)

这里将是您的代码

     <select class="date" name="year">
       <option value="">Year</option>
         <?php  for($i=1;$i<=31 ;$i++ ) { ?>
       <option value="<?php $i ?>"> <? echo $i; ?> </option>
         <?php } ?>
     </select>

编辑:

    <input type ="submit" value =" submit me"/>
    <?php  if (isset($_POST['year']))  // check if isset the year
       {
       $year = $_POST['year']  ;
       } else {}



    $sql="INSERT INTO information ( Year ) VALUES ('".$year."')";
       ?>

编辑2: 你的代码是正确的,但你应该逃避值,以防止SQL注入 喜欢那个

insert into ....
    VALUES
       ('mysql_real_escape_string($_POST[user])','mysql_real_escape_string($_POST[email])'.........