了解php错误处理和代码执行

了解php错误处理和代码执行,php,error-handling,Php,Error Handling,我试图将一个php应用程序移植到.net,在查看php代码时,我遇到了一个有点混乱的代码片段。下面显示的块 $cur_xml_valid = 'N'; $GenerateXml[] = "<J>"; $seq ++; $GenerateXml[] = "<ANumber>" . $seq . "</ANumber>"; $GenerateXml[] = "<Customer>" . str_repla

我试图将一个php应用程序移植到.net,在查看php代码时,我遇到了一个有点混乱的代码片段。下面显示的块

$cur_xml_valid = 'N';                        
$GenerateXml[] = "<J>";
$seq ++;
$GenerateXml[] = "<ANumber>" . $seq . "</ANumber>";
$GenerateXml[] = "<Customer>" . str_replace(array('&','>','<','"','\''), array('&amp;','&gt;','&lt;','&quot;','&apos;'), $invoice['customer']) . "</Customer>";
$GenerateXml[] = "<CompletionDate>" . str_replace(' ', 'T', $invoice['DateCreated']) . "</CompletionDate>";
$GenerateXml[] = "<OrderNumber>" . $invoice['SO'] . "</OrderNumber>";
$GenerateXml[] = "<OrderType>" . $invoice['type'] . "</OrderType>";
$GenerateXml[] = "<Comments>" . str_replace(array('&','>','<','"','\''), array('&amp;','&gt;','&lt;','&quot;','&apos;'), $invoice['Comments']) . "</Comments>";
$cur_xml_valid = 'Y';

if ($cur_xml_valid == 'N') {
    $sqlxmlmismatch = "INSERT INTO xml_log (No,LogDesc) VALUES ( '$invoice_no','DOES NOT EXIST IN FILES (" . $invoice['Address'] . ")')";
    $resultxmlmismatch = $db->query($sqlxmlmismatch);
    $objWorksheet->getCell("BH$start_row")->setValue('DOES NOT EXIST IN FILES - NOT SENT');
}
$cur\u xml\u valid='N';
$GenerateXml[]=“”;
$seq++;
$GenerateXml[]=“”$如下。"";

$GenerateXml[]=“”。str_replace(array('&','>','''',''''','''','''',''',','您的假设是正确的,
$cur_xml\u valid
在到达
if
语句时不可能是
N


为了让编码人员不必怀疑,可能有一个早期版本的顶部有验证代码(可能是从API获得XML)。动态XML获取和验证已被删除,但它们保留了变量和检查变量的代码。随着代码的发展,这种情况并不少见。

您的假设是正确的,当到达
if
语句时,
$cur\u XML\u valid
无法成为
N


为了让编码人员不必怀疑,可能有一个早期版本的顶部有验证代码(可能是从API获得XML)。动态XML获取和验证已被删除,但它们保留了变量和检查变量的代码。随着代码的发展,这种情况并不少见。

100%的错误代码。它对SQL注入开放,
$cur\u XML\u valid
也没有意义。…(我可以看到)@treyBake谢谢,我也这么认为,只是对php不太熟悉:)@bfris检查非作者/维护者编写的代码在代码检查中是离题的100%错误代码。它对SQL注入是开放的,
$cur\u xml\u valid
这件事也没有意义…(我可以看到)@treyBake谢谢,我也这么认为,只是对php不太熟悉:)@bfris检查非作者/维护者编写的代码在代码检查中是离题的,这很有意义,可能会像您建议的那样随着代码的发展而留在那里。谢谢这很有道理,如果代码按照您的建议发展,可能会留在那里。谢谢