当我执行此代码时,我只会将零插入到我的数据库中。为什么?我该怎么做才能解决这个问题?
<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]')";
答案 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])'.........