我有多个带复选框的元素;在选择一个框时,我想将通过ajax数据参数传递的一些属性存储到数据库表中。这是JS和html标记的一个例子。
$("input[type="submit"]").live("change", function() {
if($(this).is(":checked")) {
$.ajax({
type: 'post',
url: 'fetch.php',
data:
{
id: $(this).attr('id'),
checked: 'yes'
}
})
}
})
<li>
<label for="one"></label>
<input type="checkbox" name="one" id="one">
</li>
<li>
<label for="two"></label>
<input type="checkbox" name="two" id="two">
</li>
<li>
<label for="three"></label>
<input type="checkbox" name="three" id="three">
</li>
然而,作为一个PHP和mysql新手,在成功连接到我的mysql表后,我陷入了实际的PHP代码。以下没有做任何事情,我正在努力继续。
<?php
if(isset($_POST['id'])){
if (is_array($_POST['id'])) {
foreach($_POST['id'] as $value){
$query = "INSERT INTO my_table VALUES ". $value. ";";
mysql_query($query) or die(mysql_error());
}
} else {
echo "nothing checked";
}
}
?>
非常感谢任何帮助。
答案 0 :(得分:0)
您的INSERT
查询格式不正确。
尝试这样的事情:
$query = "INSERT INTO my_table (column_name) VALUES ('". $value. "')";
重要提示:您的代码容易受SQL injections攻击,并可能危及数据库的安全性。您应该使用PDO或mysqli API来保护您的SQL查询,并使用prepare
函数。