Ver Mensaje Individual
  #9 (permalink)  
Antiguo 04/04/2009, 14:58
machoman112233
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Manejar Inserts En tablas relaciondas

Si lo que pasa es que he echo los cambios necesarios y lo lo hago sobre lo valores y despues genero la query... para insertarlo me tienen que quedar \\\'

Código php:
Ver original
  1. function InsertarValoresSQL($array_insert,$campo_insert)
  2.     {
  3.         //Genera la consulta MySQL que se envia al servidor (INSERTAR).
  4.         //Se le pasa una array asociativa y convierte
  5.         //los key's de la array en los campos que corresponden
  6.         //a la base de datos y los valores respectivos a valores
  7.         //associados a cada campo.
  8.        
  9.         $this->array_key = array_keys($array_insert);
  10.         $this->array_valor = $array_insert;
  11.        
  12.         for($i = 0;$i < count($this->array_valor);$i++)
  13.         {
  14.             $this->array_valor[$this->array_key[$i]] = (is_numeric($this->array_valor[$this->array_key[$i]]))? $this->array_valor[$this->array_key[$i]] : "'".$this->limpiar($this->array_valor[$this->array_key[$i]])."'";
  15.         }  
  16.        
  17.         for($i = 0;$i < count($this->array_key);$i++)
  18.         {
  19.             $this->array_key[$i] = "`".$this->array_key[$i]."`";
  20.         }
  21.        
  22.         $this->nombre_campo = implode(",",$this->array_key);
  23.         $this->valor_campo = implode(",",$this->array_valor);
  24.        
  25.         $sql = "INSERT INTO `".$campo_insert."` (".$this->nombre_campo.")";
  26.         $sql .= " VALUES(".$this->valor_campo.");";
  27.         return($sql);
  28.     }
  29.  
  30. private function limpiar($variable)
  31.     {
  32.         //para escapar los caracteres especiales.
  33.      return(addslashes(mysql_real_escape_string(trim($variable)))); //con esto funciona
  34.      return(mysql_real_escape_string(trim($variable))); //con esto no
  35.  
  36.     }

La consulta me queda asi para que funcione...
Código mysql:
Ver original
  1. INSERT INTO `enq_preguntes` (`pregunta`) VALUES('She\\\'s a beautiful girl?');

PD: o soy **** y no me entero... o quien sabe...