Ik kom hier een vreemd probleem tegen.

Stel je voor ik heb een tabel
id - naam - project

en de waarden zijn
1 - test - php

Als ik met zend de volgende update uitvoer:


$data = array (
  'naam' => 'test',
  'project' => 'php'
);
$where = $this->getAdapter()->quoteInto('id = ?' , '1');
if (!$this->update($data, $where))
  return false;
}


(zoals je ziet zijn de waarde van de rij die ik update gelijk aan de waarden die ik er in stop)

Dit returnt een error. Waarom, ik heb werkelijk waar geen flauw idee. waarden die ik invoer zijncorrect. maar omdat het dubbel is geeft die een error.

dat terwijl in gewoon mysql


mysql_query("UPDATE tabel SET naam = 'test', project = 'php' WHERE id = '1');


werkt gewoon.

Ik heb gezocht in de docs en heb niks kunnen vinden.

iemand enig idee hoe dit komt?
wat staat er precies in de error?
Dit returnt een error.

En deze melding is zo geheim dat je hem met een false gaat verbergen? Hoe wil je dan gaan debuggen? Toon de echte melding, dan is debuggen een fluitje van een cent.
/facepalm

even gezocht naar wat precies de return is van zend_Db_table_update.

"Number of Rows affected".

0 == false bij if (!$this.

moet maar even veranderen :)

Reageren