나는 Zend_Db_Adapter를 사용하여 업데이트 쿼리를 작성하려고하지만 쿼리의 에코를 만들 때 업데이트하려는 값은 여전히 "?"입니다.? 젠드 업데이트로 값 대신
$this->_db->beginTransaction();
try {
foreach($a_result as $k => $j){
$foo = ($j['val1'] >= $j['val2']) ? 1 : 0 ;
$a_data = array('bar' => $foo);
$where['id = ?'] = $k;
$update = $this->_db->update($this->_name, $a_data, $where);
}
$this->_db->commit();
} catch (Exception $e) {
$this->_db->rollBack();
echo $e->getMessage();
}
내 모든 querys는 다음과 같습니다 : 나는 값 $ foo는을 확인, 난 항상 1 개 또는 0 내 코드가
- UPDATE
foo
SETbar
=? WHERE (id = 39) - 업데이트
foo
SETbar
=? WHERE (ID = 40) - [...]는 게다가 :)
$a_data = array( 'bar' => $foo ); $_where = array(); $_where[] = "id = '" . $k . "'";
도움이된다면이 코드는 나를 위해 작동
$ foo의 값을 부울로 생각하는지 확인하십시오. $ foo의 값을 캐스팅해야 할 수도 있습니다. – almaruf
$ foo를 int로 간주합니다. – Snabow