所以我正在尝试PDO查询。看看这个片段:
1. $rows = $stmt->fetchColumn();
2. echo $rows;
3. $row = $stmt->fetch();
4. print_r($row);
这只是一个观察...不确定如何正确! 第2行被执行并返回行数(在我的情况下为1,因为我只是在验证用户身份)。 第4行不返回任何内容。
如果您取消订单:
1. $row = $stmt->fetch();
2. print_r($row);
3. $rows = $stmt->fetchColumn();
4. echo $rows;
打印第2行的数组,但第4行什么也不返回!这是正确的行为吗?
无论如何,我如何获得以下结果?
if ($stmt->fetchColumn() == 1) {
$row = $stmt->fetch();
print_r($row);
} else {
echo '<div class="error-message">Verify Your Credentials</div>';
}
答案 0 :(得分:0)
这是正确的行为,fetchColumn提取一列。您无法提取两次。您可以使用:
/* fetches row from the result, if theres no row in the result, fetch returns false */
$row = $stmt->fetch();
/* compare if $row is true (in PHP, "boolean value" of unempty array is true) */
if ( $row ) {
print_r($row);
} else {
echo '<div class="error-message">Verify Your Credentials</div>';
}
答案 1 :(得分:0)
此答案可能会帮助您PDO fetch one column from table into 1-dimensional array
fetchColumn仅返回单个结果,但是您可以使用pdo :: fetch方法以不同的方式将结果展平,您应该查找它们,它们将快速而简单地整理出结果。尝试此操作以获得更多阅读内容,https://phpdelusions.net/pdo/fetch_modes