我有一个postgred数据库,我想从表中获取一个特定的int值,然后将其添加到现有值。这是我的代码:
global $conn;
$qnt_actual = $conn->prepare('select qnt_armazem from stock2 where brinquedo= :brinquedo');
$qnt_actual->bindParam(':brinquedo', $brinquedo);
$qnt_actual->execute();
$qnt_actual->fetch();
$qnt_actual2=$qnt_actual->fetch();
$quantidade=$quantidade+$qnt_actual2;
但是当我回显$ quantidade时,它假设$ qnt_actual2 = 0。此外,当我回显$ qnt_actual2时,它不回显任何东西,甚至不回显。
有什么问题?
答案 0 :(得分:1)
错误的代码,重复的调用对象。这一个对象fetch()。
$qnt_actual->fetch(); <------- Remove
$qnt_actual2=$qnt_actual->fetch();
右
$qnt_actual2 = $qnt_actual->fetch();
print_r($qnt_actual2); <------ return results view.
Sory,我的英语不太好。
答案 1 :(得分:1)
<强>问题:强>
每当您致电fetch()
时,PDO
都会从结果集中提取下一行。
由于您只有一行,因此第二次调用fetch()
两次时找不到行。
<强>解决方案:强>
只打电话fetch()
一次。