我找不到PHP语法错误


PHP syntax error that I cannot find

我有一个文件,其中包含以下php代码:

<?php
session_start();
include_once("config.php");
include_once("functions.php");
include_once("class/db.class.php");
$config = new config($db_host, $db_user, $db_pass, $db_name);
$db = new db($config);
$db->openConnection();
switch ($_POST['mode']) {
    case 'update':
        if(mysql_query("UPDATE table_name SET id_negozio = '".$_POST['negid']."', nome='".mysql_real_escape_string(strtolower($_POST['nome']))."', cognome='".mysql_real_escape_string(strtolower($_POST['cognome']))."', indirizzo='".mysql_real_escape_string($_POST['indirizzo'])."', CAP='".$_POST['cap']."', city='".mysql_real_escape_string($_POST['city'])."', tel='".$_POST['tel']."', email='".strtolower($_POST['email'])."', provincia='".strtoupper($_POST['provincia'])."', data_nascita = '".$_POST['datanascita']."', luogo_nascita='".mysql_real_escape_string($_POST['luogonascita'])."', doc_number='".strtoupper($_POST['docnum'])."', doc_type='".$_POST['doctype']."', doc_data='".$_POST['docdata']."', cf='".strtoupper($_POST['cf'])."', doc_exp='".$_POST['doc_exp']."', doc_rilascio='".$_POST['doc_rilascio']."' WHERE id = ".$_POST['id']." ")){
            echo "ok";
        }
    break;
    case 'salvataggio_finale':
        if(mysql_query("UPDATE table_name SET salvato = 1 WHERE id = ".$_POST['id']." ")){
            logit("Creato nuovo cliente.", $_POST['idneg']);
            echo "ok";
        }
    break;
    case 'del':
        if(mysql_query("DELETE FROM table_name WHERE id = ".$_POST['id']." ")){
            logit("Eliminato cliente con id ".$_POST['id']."", $_POST['idneg']);
            echo "deleted";
        }
    break;
}
unset($db);
?>

在我的服务器上,我有error_log,它显示了38个出现此错误的条目:

[..] PHP Parse error:  syntax error, unexpected '{' in /home/.../filename.php on line 12

其中第12行是case'update'之后的if语句我不明白为什么我不应该放括号,也不明白真正的错误是什么。

是否检查了class/db.class.php是否有未闭合的引号(")?

在将POST变量连接到查询中时,还要注意可能的sql注入。