2013-11-24 35 views
-1

所以我的問題是我想在一個團隊中添加多個成員,但我似乎無法弄清楚如何甚至是否可以這樣做。這是我的代碼讓你得到我的問題。是否可以使用MySQL在數據庫的一個字段中添加多行?

<?php 

    $tname = $_POST['tname']; 
    $maxnum = $_POST['maxnum']; 
    $host = "localhost"; 
    $sqluname = "root"; 
    $sqlpass = ""; 
    $db = "teams"; 
    $tablename = "team info"; 
    $mem1 = $_POST['mem1']; 
    $mem2 = $_POST['mem2']; 
    $mem3 = $_POST['mem3']; 
    $mem4 = $_POST['mem4']; 
    $connect = mysqli_connect("$host","$sqluname","$sqlpass","$db") ; 

     if(mysqli_connect_errno()) 
         { 
         echo "Problem". mysqli_connect_error(); 
         } 


    $sql = "INSERT INTO teaminfo (TeamName,MaxNum,Members) 
    VALUES 
    ('$tname','$maxnum','$mem1')"; 

    /* Inside Members, I would like to add more than just $mem1, like $mem2, $mem3, $mem4. 
    */ 

     if(!mysqli_query($connect,$sql)){ 

     die('Error: ' .mysqli_error($connect)); 

     } 


     echo "Team is added"; 
     mysqli_close($connect); 
     header("location: TeamDummyClient.html"); 
    ?> 
+0

我對這個網站很陌生,所以我不知道我的代碼是否可以顯示。讓我知道如果你看不到它,該怎麼辦。不勝感激。 – Romio

+2

編輯顯示您的代碼。另外,您可以廣泛開放SQL注入。在將此代碼發佈到生產之前,肯定會解決此問題。 –

+1

它最好在'Team'和'TeamInfo'之間使用一個'foreign'關鍵字。 –

回答

0
$sql = "INSERT INTO teaminfo (TeamName,MaxNum,Members) VALUES"; 
$sql .= "('$tname','$maxnum','$mem1'),"; 
$sql .= "('$tname','$maxnum','$mem2'),"; 
$sql .= "('$tname','$maxnum','$mem3'),"; 
$sql .= "('$tname','$maxnum','$mem4')"; 

您將自己的價值觀之前,以防止SQL注入你應該逃避字符串。以下是其中一行的示例:

$sql .= "(
    '" . mysqli_real_escape_string($tname) . "', 
    '" . mysqli_real_escape_string($maxnum) . "', 
    '" . mysqli_real_escape_string($mem1) . "' 
),"; 
+0

爲什麼所有的停止和啓動?另外 - 我想你已經錯過了這個問題的要點 - 否則我已經! – Strawberry

+0

嘿草莓,所以我們再見面。你在說什麼停止和開始?請記住,這對我來說是新的:D – Romio

+0

而且非常感謝你的幫助順便說一句。 – Romio

相關問題