Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Salut à tous
j'ai un pb que je ne sais pas résoudre.
UPDATE V_PAGE_ACCUEIL SET PAGE_DATA = :value WHERE PAGE_LANG = :lang
requête on ne peut plus simple
mais voilà mon PAGE_DATA est un CLOB et avec un prépare impossible de lui dire que c'est un large object
public function updateHome($lang, $value) { $return = new stdClass(); $sql = 'UPDATE V_PAGE_ACCUEIL SET PAGE_DATA = :value WHERE PAGE_LANG = :lang'; $this->_db->beginTransaction(); try { $statement = $this->_db->prepare($sql); $statement->execute(array('lang' => $lang, 'value' => $value)); $this->_db->commit(); $return->success = true; } catch (Exception $e) { $this->_db->rollBack(); $return->error = $e->getMessage(); $return->msg = $sql; $return->success = false; } return $return; }
je suis sous pdo_oci
merci de votre aide
A+JYT
Dernière modification par sekaijin (12-04-2010 13:28:29)
Hors ligne
Salut à tous
je me réponds à moi même
il faut donc passer un paramètre au binding
public function updateHome($lang, $value) { $return = new stdClass(); $sql = 'UPDATE V_PAGE_ACCUEIL SET PAGE_DATA = :value WHERE PAGE_LANG = :lang'; $this->_db->beginTransaction(); try { $statement = $this->_db->prepare($sql); $statement->bindParam('value', $value, PDO::PARAM_LOB); $statement->execute(array('lang' => $lang)); $this->_db->commit(); $return->success = true; } catch (Exception $e) { $this->_db->rollBack(); $return->error = $e->getMessage(); $return->msg = $sql; $return->success = false; } return $return; }
je suis sous pdo_oci
cela semble fonctionner
mais j'ai encore un pb avec oracle
si mon champ est un CLOB (Char Large Object) J'ai un message can't convert BLOB to CLOB
donc impossible d'insérer un Binary LOB dans un CLOB je n'ai pas trouvé comment lui dire d'insérer un CLOB
Si mon champ en base est un BLOB alors il n'écrit rien
merci de votre aide
A+JYT
Hors ligne
Pages: 1