未定义的索引错误

时间:2014-04-02 10:44:18

标签: php

我理解explodemy_sqlPDO无关。我有一个愚蠢的怀疑,想知道是否有人可以解释我。

我有一个XML文件,我正在解析特定标记(脚本),其中包含数据 -

scripts/testSuite/UTA/CLI/CommonCli/commonSflow.tcl

scripts/testSuite/UTA/CLI/CommonCli/commonRoutePolicyDisplay.tcl

scripts/testSuite/networkSecurity/802dot1x/802dot1xBasicFunctionality/802dot1xSuppliSuccessAuth.tcl

scripts/testSuite/hostAgentFeatures/debugLogging/debugLoggingFeatureTesting/DebugLogging_F_SshErrorMsg.tcl
scripts/testSuite/sdnSTC/Flare/Backup_Restore/Sprint16_tests/Backup_Restore_RestoreModeOFFRestore.tcl

现在解析这个我正在使用代码 -

<?php

include_once ("db_connection.php");

$xml=simplexml_load_file('info.xml');

foreach($xml->testcase as $var)
    {
        $var=explode('/',$var->script);

        print_r($var);

        $module[] =$var[2];

        $testName[] = end($var);
    }

    $modules = array_unique($module); 

        foreach($modules as $newarr) 
            {
                $newmodules[]=$newarr;
            }
 ?>
另一方面,我有一个数据库,其中包含列namde脚本,其中包含与xml相同的数据。为此我使用代码 -

<?php

include_once ("db_connection.php");

$conn = testdb_connect ();

$testType = 'TCL';

$sth = $conn->prepare('SELECT script FROM testcases2 WHERE testcases2.testType = :testType');

$sth->execute(array(':testType' => $testType));

    while($row = $sth->fetch(PDO::FETCH_ASSOC))
  { 
        foreach($row as $key) 
            {
                $var=explode('/', $key);

                print_r($var);

                $module[] =$var[2];
            } 

  }

$modules = array_unique($module); 

    foreach($modules as $newarr) 
        {
            $newmodules[]=$newarr;
        }
 ?>

在这两种情况下,print_r($var);的输出都是相同的 - output

问题在于,当我运行my_sql代码时,我没有错误,但是使用PDO我得到了这个undefined index 2 error

PDO代码有什么问题? 请指导。

1 个答案:

答案 0 :(得分:0)

尝试$module[] = (!empty($var[2]) ? $var[2] : '');可能是索引2为空,因此显示未定义的索引错误或尝试检查您的$var[2]