Php 更新代码不接受字母

Php 更新代码不接受字母,php,sql-update,Php,Sql Update,我有下面的代码,为什么代码不接受字母,实际上它接受字母,但只有当数字保持在第一位时 <?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= $_POS

我有下面的代码,为什么代码不接受字母,实际上它接受字母,但只有当数字保持在第一位时

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

您应该在表达式中区分变量。。。
将$query更改为

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

试着学习

请开始学习MySQLi或PDO,使用准备好的语句/绑定变量来避免SQL注入的风险。你能举一个输入的例子并解释一下,你说“它不接受字母”是什么意思吗?你能告诉我你建议这样做的主要原因吗。Thanksit更容易连接到不同的数据库,它有独特的函数和类,而不是针对特定的数据库(如mysql_query())。