我有一个包含2行的数据库,我需要从第1行获取信息,这些信息与下面的代码一起使用,但也需要从第2行的列中获取数据。我不确定是什么命令是集中抓取某个行+列。
$query = $connect->query("SELECT * FROM myData WHERE dateNext >= NOW() ORDER BY id ASC");
$entryPhase = $query->fetchColumn(1);
$dateEnd = $query->fetchColumn(5);
$textEN = $query->fetchColumn(2);
$textFR = $query->fetchColumn(3);
$nextPhase = $query->fetchColumn(8)
任何人都可以帮助我或指出我正确的方向吗?
提前致谢!
答案 0 :(得分:0)
您似乎有点误解fetchColumn
。根据其名称,这可能是意外的,但它实际上会从结果集中获取一行。它只返回该行的指定列。因此,每次调用它时,都会从新行中获取指定的列。
如果您知道有两行,则可以使用fetchAll
来获取数组中的两行,然后使用多维数组索引获取所需的任何数据。
$results = $query->fetchAll();
$row2Column4 = $results[1][3]; // 1 and 3 rather than 2 and 4 because of 0-based indexes
我建议使用关联或对象提取样式,因此您可以使用列名而不是数字索引来获取值。