Parantez ile DQL + alanında tarafından Doktrini Güncelleme: "(" ve ")"

1 Cevap php

Ben verileri kaydetmek için bir doktrin güncelleştirme sorgusu vardır:

$ Müşteri = Doctrine_Query :: create ()

-> Update ('Müşteri')

-> Set ('fax', "'". $ This-> getRequest () -> GetParam ('.) Fax "'")

-> Burada ('id =' $ this-> getRequest () -.> GetParam ('id'))

-> Execute ();

Sorun "(" ve ")" alan faks parantez vardır ve doktrin çünkü bu parantez sorguda bir hata döndürür olmasıdır.

Somebody knows a solution for this? Thank's

1 Cevap

Doktrin ile tanıdık, ama parantez kaçış eğer ne değildir?

$fax = $this->getRequest()->getParam('fax');
$fax = str_replace(array('(',')'), array('\(','\)'), $fax);

// ...
->set('fax',"'". $fax ."'");

Düzen, ve o da sadece rakam, parantez ve belki tire eklemek için girdiyi iyi olabilir:

// replace everything not 0-9, (, ) or - with nothing
$fax = preg_replace('/[^0-9\(\)\-]/','',$fax);