0

我使用https://github.com/Orange-OpenSource/YACassandraPDO作为 PDO 扩展,一切正常,但是当我尝试按子句获取记录时,select * from users Where key IN ($my_keys_array)只检索第一条记录。

$query = "SELECT * FROM questions WHERE user_id = 'mikko' AND question_id IN ('Question 1','Quesiton 2')";
$stmt = $this->db->prepare($query);
$stmt->execute ();
$res = $stmt->fetch(PDO::FETCH_ASSOC);
echo json_encode($res);

有人知道 cassandra-pdo 是否存在问题或我错在哪里?

我通过 cqlsh> 提示尝试相同的句子并且工作正常。

提前感谢您的帮助。

4

2 回答 2

1

目前,您只从结果集中获取单行,以获取您应该发出的所有行,$stmt->fetchAll ()而不是$stmt->fetch().

顺便提一句。一个很好的地方,如何使用 API 总是测试:这些可以提供相当多的信息https://github.com/Orange-OpenSource/YACassandraPDO/tree/master/tests

您还可以查看fetchfetchAll的 PDO 文档。

于 2013-08-19T15:43:34.253 回答
1

目前,您只从结果集中获取一行。您需要在循环中运行该 fetch 以便从结果集中获取所有结果。

$result_array = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $result_array[] = $row;
}
echo json_encode($result_array);
于 2013-08-19T15:46:51.640 回答