到目前为止,我已经尝试并实现了此代码。我想用不同的列插入复选框值,以便我了解他们如何使用Tablet,Pc,Labtop 查看我的代码并指导我。
<form name="f1" action="simple.php" method="post"/>
Name:<input type="text" name="name" value=""/><br/>
Are you having <input type="checkbox" name="check[]" value="pc"/>pc  
<input type="checkbox" name="check[]" value="tablet" />Tablet
<input type="checkbox" name="check[]" value="ios" />Ios
<input type="submit" name="submit" value="submit"/>
</form>
if(isset($_POST['submit']))
{
$name=$_POST['name'];
$check=$_POST['check'];
echo $name."<br/>";
echo $check."<br/>";
print_r($check);
$i=0;
$val='';
foreach($check as $a)
{
$val.=$a[$i];
$query=mysql_query("INSERT INTO carrying (name,pc,tablet,ios) VALUES ('".$name."','".$check[$i]."')");
// mysql_query($query);
$i++;
}
}
在数据库专栏中,我创建了这样的内容,我只想要这样的格式:
---------------------------------
|cid | name | pc | tablet | ios|
---------------------------------
|1 |kodi | pc | tablet |
---------------------------------
|2 |siva | pc | |
---------------------------------
答案 0 :(得分:0)
如果你想保持这样的数据库结构 - 应该是:
$pc = null;
if (array_search('pc', $check) !== false) {
$pc = 'pc';
}
$tablet = null;
if (array_search('tablet', $check) !== false) {
$tablet = 'tablet';
}
$ios = null;
if (array_search('ios', $check) !== false) {
$ios = 'ios';
}
$query = mysql_query("INSERT INTO carrying (name, pc, tablet, ios) VALUES ('".$name."','".$pc."','".$tablet."','".$ios."')");
在SQL注入方面,代码存在一些问题。如果你没有使用PHP框架,你应该考虑至少使用像PEAR这样的数据库抽象层,以便你可以做这样的事情(来自http://pear.php.net/manual/en/package.database.db.db-common.execute.php):
$sth = $db->prepare('INSERT INTO numbers VALUES (?, ?, ?)');
$data = array(1, 'one', 'en');
$db->execute($sth, $data);