2016-03-01 31 views
0

我是一個新手,並跟隨了視頻嘖嘖但我面臨一個錯誤。php插入數據使用複選框與affected_rows = -1

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

我已確保我的數據庫被稱爲「成員」,並表被稱爲「登錄」和所謂的「組」

<?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; 

}

電影列已經顯示「1」,意思是沒有錯誤 ,但它打印出-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') 
+0

迴應您的查詢,所以我們可以看到,可能會缺少引號或其他東西 –

+0

@ B-and-P affected_rows = -1並且有一些錯誤,我會關注電影,直到3:00。我確保沒有錯誤b4 3:00 – tommy

+0

執行此操作:'$ query =「INSERT INTO login(group)VALUES('$ group')」; echo $ query; $ db-> query($ query);' 因此我們可以看到查詢本身而不是結果。最有可能的是,你有一個語法錯誤。 –

回答

0

Group是一個保留字in MySQLMariaDB並且應該被包裹在用作列名稱時在查詢中的所有實例中反引號。

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

這應該給你正確的答案。