我理解explode
与my_sql
和PDO
无关。我有一个愚蠢的怀疑,想知道是否有人可以解释我。
我有一个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代码有什么问题? 请指导。
答案 0 :(得分:0)
尝试$module[] = (!empty($var[2]) ? $var[2] : '');
可能是索引2为空,因此显示未定义的索引错误或尝试检查您的$var[2]