当我从SQLite3数据库中使用关联索引和数字索引的默认fetch()
模式检索行时,数字索引有效,但是如果尝试使用关联索引,则会出现“未定义索引”。就是
$timeReadBack = $resultArray2[0];
给出正确的结果,但是
$timeReadBack = $resultArray2['startTime'];
给出“未定义的索引”。
我是肯定我的字段名称正确。
这是整个序列:
$result2 = $db->prepare( 'SELECT parameterValue FROM CurrentState WHERE parameterName = ?;' );
$result2->bindValue(1,'startTime');
$selectStatement = $result2->execute();
$resultArray2 = $result2->fetch();
$timeReadBack = $resultArray2[0];
parameterName
和parameterValue
是表中的TEXT字段。
答案 0 :(得分:0)
您的SELECT不包含名为startTime的字段。因此,$resultArray2
仅包含SELECT字段中的键(仅parameterValue
)。
SELECT parameterValue FROM CurrentState WHERE parameterName = ?
此外,您正在使用startTime
来绑定参数。这意味着startTime
是一个值,而不是字段名称。因此,您不能仅通过字段名称parameterValue
$result2 = $db->prepare( 'SELECT parameterValue FROM CurrentState WHERE parameterName = ?;' );
$result2->bindValue(1,'startTime');
$selectStatement = $result2->execute();
$resultArray2 = $result2->fetch();
$timeReadBack = $resultArray2[0];
$timeReadBack = $resultArray2['parameterValue']; // 'startTime' is a value