php使用带有affected_rows = -1的复选框插入数据

时间:2016-03-01 04:17:02

标签: php mysql sql mariadb

我是一个新手,并且跟着视频啧啧但我面临一个错误。

链接:https://www.youtube.com/watch?v=0HiIUclMv1k

我确保我的数据库被称为"成员"和表被称为"登录"以及名为" group"

的列
<?php
//$_SESSION['name'];
session_start();
echo "student";
?>

<form action="" method="POST">

<input type="checkbox" name="group[]" value="group1">group1<br>
<input type="checkbox" name="group[]" value="group2">group2<br>
<input type="checkbox" name="group[]" value="group3">group3<br>
<input type="checkbox" name="group[]" value="group4">group4<br>
<input type="checkbox" name="group[]" value="group5">group5<br>


<input type="submit" name="submit" value="submit">

</form>

<?php

    if  (isset($_POST['submit']))
    {
        //print_r($_POST);
    $group =implode(',', $_POST['group']);
    $db = new mysqli('localhost', 'root', '', 'member');
    $db->query("INSERT INTO login (group)
            VALUES ('$group')
        ");
        echo $db->affected_rows;

}

这部电影已经展示了#34; 1&#34;这意味着没有错误 但它打印出-1但我找不到编码的任何错误。 谢谢你的帮助:))

编辑:

这是我的数据库结构

 column:   id      name             user    password     type     email     group
    ------------------------------------------------------------------------
            3948271  chansiumin    csm_1     12345678    student  
            3948272  chantaiman    stm_369   369369369   teacher 

查询输出:

INSERT INTO login (group) VALUES ('group1')

1 个答案:

答案 0 :(得分:0)

Group是一个保留字in MySQLMariaDB,当用作列名时,应该在查询的所有实例中用反引号括起来。

  $db->query("INSERT INTO login (`group`)
            VALUES ('$group')
        ");

这应该给你正确的答案。