2015-10-30 78 views
1

我有表什麼填充從數據庫字段,你能告訴我PHP將數據插入到數據庫中,每個比分持有數據庫行(ID,姓名,分數)PHP:填充字段和數據庫中插入

更新時間:白衣泰斯代碼它打印這樣的:

線更新到數據庫:7 - 詹姆斯 - 15

線更新到數據庫:7 - 詹姆斯 - 15條

線更新到數據庫:7 - 詹姆斯 - 15

現在我用這種形式:

<form action="insert_action2.php" id="form2" title="form2" method="post"> 
<table> 
<?php 

     $link = mysqli_connect("localhost", "form", "form", "form"); 

// Check connection 
if($link === false){ 
    die("ERROR: Could not connect. " . mysqli_connect_error()); 
} 



$sql = "SELECT * FROM form2" ; 
$players = $link->query($sql); 
     while($player = $players->fetch_assoc()){ 
     ?> 

      <tr> 
      <td> 
       <input type="text" name="id" id="id" value="<?php echo $player["id"]; ?>"> 
       <input type="text" name="name" id="name" value="<?php echo $player["name"]; ?>"> 

      </td> 
      <td>  
       <input type="text" name="score" id="score" size="2" value="<?php echo $player["score"]; ?>"> 
      </td> 
     </p> 
     <?php 
     } 
     $link->close(); 
     ?> 

    </tr> 
    </table> 
     <input type="submit" value="update scores"> 
</form> 

插入到數據庫-insert_action2.php 我試圖對數組和foreach,但無法得到這些工作的權利......

<?php 

foreach($_POST as $players => $value) { 

$id = mysqli_real_escape_string($link, $_POST['id']); 
$name = mysqli_real_escape_string($link, $_POST['name']); 
$score = mysqli_real_escape_string($link, $_POST['score']); 

    $sql = "UPDATE form2 SET score='$score', name='$name' WHERE id=$id";   
     if(mysqli_query($link, $sql)){ 
       echo "lines updated to database: <br>$id - $name - $score <br><br><p><p>"; 
      } else{ 
       echo "ERROR: Could not able to execute $sql. " . mysqli_error($link); 
      } 
} 

mysqli_close($link); 


?> 
+0

真的?不知道。謝謝。 –

+1

是您使用POST方式的表單嗎? – Thamilan

+0

@ storm5它看起來你用戶將提交多個分數給你。在這種情況下,您需要在id,名稱和樂譜輸入的名稱屬性的末尾添加'[]'。 ' Terminus

回答

-1

您需要使用:

$sql = "insert into `form2`(`name`, `score`) VALUES ('{$name}', '{$score}')"; 

當您在字符串中使用某個變量時,您需要查看該變量。

或者用這樣的方式:

$sql = "insert into `form2`(`name`, `score`) VALUES ('" . $name . "', '" . $score . "')"; 
+0

這是不正確的。當變量是一個更復雜的表達式(例如對象的屬性)時,或者當字符串後面的字符是變量名稱中允許的字符時,您只需要這樣做。 – Quentin

相關問題