PHP在结果集关联数组中无法识别SQLite3字段名称

时间:2018-11-08 18:21:49

标签: php pdo sqlite

当我从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];

parameterNameparameterValue是表中的TEXT字段。

1 个答案:

答案 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