了解php错误处理和代码执行
我试图将一个php应用程序移植到.net,在查看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
$cur_xml_valid = 'N';
$GenerateXml[] = "<J>";
$seq ++;
$GenerateXml[] = "<ANumber>" . $seq . "</ANumber>";
$GenerateXml[] = "<Customer>" . str_replace(array('&','>','<','"','\''), array('&','>','<','"','''), $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('&','>','<','"','''), $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检查非作者/维护者编写的代码在代码检查中是离题的,这很有意义,可能会像您建议的那样随着代码的发展而留在那里。谢谢这很有道理,如果代码按照您的建议发展,可能会留在那里。谢谢