Example #1
0
 /**
  * protege les champs selon le type défini dans le shema
  * (effet sur update et insert)
  * @param unknown $column
  * @param unknown $data
  * @param string $raw
  * @return unknown|string
  */
 protected function quoteData($column, $data, $raw = null)
 {
     $data = $this->dbTable->filter($column, $data);
     if ($raw) {
         return $data;
     }
     if (is_null($data)) {
         return 'NULL';
     }
     if (ctype_digit("{$data}")) {
         $type = $this->dbTable->getTypeColumn($column);
         switch (mb_strtolower($type)) {
             // numeric myssql
             case 'bigint':
             case 'mediumint':
             case 'tinyint':
             case 'int':
             case 'integer':
                 // numeric pgsql
             // numeric pgsql
             case 'bigserial':
             case 'smallint':
             case 'int2':
             case 'int4':
             case 'int8':
                 return $data;
         }
     }
     return $this->dbTable->DbLink->quote($data);
 }