2013-09-01 70 views
0

我有下面的代碼,爲什麼代碼不接受字母,實際上它確實接受字母,但只有當數字保持在第一位。更新代碼不接受字母

<?php 
if($_SERVER['REQUEST_METHOD'] == "POST"){ 

$size = count($_POST['datum']); 

$i = 0; 
while ($i < $size) { 
    $datum= $_POST['datum'][$i]; 
    $perso_id= $_POST['perso_id'][$i]; 
    $schicht= $_POST['schicht'][$i]; 
    if ($schicht != 0) { 
     $query = "UPDATE dienstplan SET schicht = '$schicht' WHERE datum = '$datum' AND perso_id='$perso_id'"; 
     mysql_query($query) or die ("Error in query: $query"); 

    } 
    ++$i; 
} 

}

+0

請開始學習的MySQLi或PDO與準備好的語句/綁定變量以避免SQL注入的風險 –

+1

您能舉一個輸入和解釋的例子嗎?意思是說:「它不接受字母」? – user4035

回答

0

你應該區分變量表達式... 改變$查詢

$query = "UPDATE dienstplan SET schicht = '".$schicht."' WHERE datum ='". $datum."' AND perso_id='".$perso_id."'"; 

嘗試學習pdo

+0

你能告訴我你爲什麼這麼說的主要原因。謝謝 – user2615859

+0

它更容易連接到不同的數據庫,它具有獨特的功能和類,而不是特定的數據庫(如mysql_query())。 – Nambi