2015-03-03 132 views
-4

这似乎是我不能将数据插入到我的MySQL数据库你能告诉我什么是我的代码错了吗?使用复选框插入数据到数据库

<? 
    include("header.php"); 
    $checkbox1 = $_POST['Cleared']; 
    if($_POST['Submit']{ 
    foreach($_POST['checkbox1'] as $checkbox1) 
     $query="INSERT INTO students (Library) VALUES ('$checkbox1')"; 
     mysql_query($query) or die (mysql_error()); 
    } 
    echo "Record is inserted"; 
    } 
?> 

这里是复选框

$output .= '<form action = "librarysubmit.php" method="post">'.'<tr>'.'<td>'.$fname.' '.$lname.' 
       <input type="checkbox" name="Cleared[]" value="1" style="position:absolute; right: 1000px;"> 
       '.'<input type="checkbox" name="NotCleared" value="0" style="position:absolute; right: 800px;"> 
       '.'</tr>'.'</td>'.'</form>'; 
+0

我可以在你的'$ query'截至目前后看到一个逗号......比我可以看到你不关闭你的'if'状态,以便纠正这些错别字第一..很惊讶, PHP不会给你带来任何错误 – 2015-03-03 10:48:29

+0

你会得到什么错误信息? – mmgross 2015-03-03 10:49:50

+0

我没有任何错误,当我提交时没有插入我的数据库 – maiko 2015-03-03 10:51:10

回答

2

if说法是错误的。

失去;并添加结束)

if($_POST['Submit']){ 
    ... 

确保您提交表单按钮有name='Submit'了。

您也有$_POST['checkbox1'] as $checbox1,但随后请参阅checkbox1k

你的形式也需要这样的:

<input type='submit' name='Submit'> 

如果你想$_POST['Submit']工作。

+0

\t \t \t \t <按钮类型= “提交” 名称= “提交” 值= “提交” 级= “BTN BTN-主”>提交 \t \t \t \t
maiko 2015-03-03 10:56:23

+0

是的,但你也需要一个'类型=”复选框''name ='checkbox1'。 @maiko – Albzi 2015-03-03 11:10:46

0

您还可以在

foreach($_POST["checkbox1"] as $checbox1) 

没有$ checbox一个错字。

+0

\t \t \t \t <按钮类型= “提交” 名称= “提交” 值= “提交” 类= “BTN BTN-初级”>提交 \t \t \t \t
maiko 2015-03-03 10:57:32

+0

什么做你想告诉我吗? – Daniel 2015-03-03 12:12:55

-1

试试这个..

<? 
include("header.php"); 
$checkbox1 = $_POST['Cleared']; 
if($_POST['Submit']; { 
foreach($_POST["checkbox1"] as $checbox1) 
    $query="INSERT INTO 'students' ('Library') VALUES ('$checkbox1')"; 
    mysql_query($query); or die (mysql_error()); 
} 
echo "Record is inserted"; 
} 
?> 
+0

我试过了,但它是一样的:( – maiko 2015-03-03 10:58:57

+0

你真的只是建议他把';'放在未完成的'IF'声明的后面吗?+你在拼写错误'$ checbox' – Loko 2015-03-03 11:05:23

0
<? 
    include("header.php"); 

    if(isset($_POST['submit'])) { 

    $checkbox = $_POST['cleared']; 

    foreach($checkbox as $checked) { 

     $query="INSERT INTO students (Library) VALUES ('$checked')"; 
     mysql_query($query) or die (mysql_error()); 

    } 
    echo "Record is inserted"; 
    } 
?> 

但我建议作为的mysql_query不赞成使用的mysqli替代或PDO。

另外我从来不会在我的名字或HTML中使用大写字母。

+0

Shouldn'它是:'$ query =“INSERT INTO students(Library)VALUES('$ checked')”;'? – Loko 2015-03-03 11:07:19

+0

是的,只是编辑了我的错误.. – 2015-03-03 11:07:54

0

您没有像$ _POST ['checkbox1']这样的变量,因为您的html中没有checkbox1命名复选框,如果复选框未勾选,则其后置变量将不存在。 我假设你有超过1个复选框,名称为“Cleared []”,它们的值不同......否则代码中没有逻辑。 试试这个

<? 
    include("header.php"); 
    $checkbox1 = $_POST['Cleared']; 
    if(isset($_POST['Cleared'])) { 
    foreach($checkbox1 as $checbox1) 
     $query="INSERT INTO students (Library) VALUES ('$checbox1')"; 
     mysql_query($query,) or die (mysql_error()); 
    } 
    echo "Record is inserted"; 
    } 
?>