2013-09-01 73 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