使用while循环

时间:2015-05-31 02:07:33

标签: php oop join mysqli

有一个循环查询(while循环)从表中选择2个列值,然后代码对2个值求和,我需要的是用总和值>更新另一个列。 这是代码:

$stmt = $conn->prepare('select value1, value2, valuse3  from  eg.table limit ? ');
$stmt->bind_param('i',$limit);
$stmt->execute();
$stmt->bind_result($value1, $value2,$value3);
$arr = array();
while($stmt->fetch()) {
$row = array();
array_push($arr, $row);
$newvalue=($value1+$value2);

$stmt1 = $conn->prepare("UPDATE eg.table SET eg.column=? WHERE  eg2.column=?");
$stmt1->bind_param('ii',$newvalue , $value3);
$stmt1->execute();
}

当我使用此查询时出现此错误:致命错误:在第13行的C:\ xampp \ htdocs \ so \ new \ socialrank.php中调用boolean上的成员函数bind_param()

如果您有其他解决方案来使用Mysqli来完成工作,那没关系。 任何帮助将不胜感激, 提前谢谢。

1 个答案:

答案 0 :(得分:0)

我得到了解决方案。这个查询与我一直在寻找相同的东西:

$sql = ("UPDATE eg.table AS c1, eg.table AS c2 
SET c1.eg.column = (c2.value1 + c2.value2)
WHERE c2.eg2.column = c1.eg2.column
");

注意:此解决方案的灵感来自@CakePHP answer