Foros del Web » Programando para Internet » PHP »

Problema al guardar las barras de la ruta en mysql con php

Estas en el tema de Problema al guardar las barras de la ruta en mysql con php en el foro de PHP en Foros del Web. Hola, tengo el siguiente problemita: tengo una variable que contiene un directorio, Ej: $directorio = "C:\\Carpteta\\Subcarpeta"; cuando lo guardo en mysql, lo guarda de la ...
  #1 (permalink)  
Antiguo 09/11/2009, 09:22
 
Fecha de Ingreso: junio-2009
Mensajes: 22
Antigüedad: 14 años, 9 meses
Puntos: 1
Problema al guardar las barras de la ruta en mysql con php

Hola, tengo el siguiente problemita:

tengo una variable que contiene un directorio, Ej:
$directorio = "C:\\Carpteta\\Subcarpeta";

cuando lo guardo en mysql, lo guarda de la siguiente manera:
C:CarpetaSubcarpetahola.txt

y yo necesito que me lo guarde como corresponde, Ej:
C:\Carpeta\Subcarpeta\hola.txt
sino al volver intentar acceder a esa ruta me da error

el campo lo tengo asignado como varchar codificacion utf8_general_ci

Cual puede ser el problema

Mil Gracias !!
  #2 (permalink)  
Antiguo 09/11/2009, 09:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al guardar las barras de la ruta en mysql con php

seguramente usas stripslashes() en tu código, cierto???

¿o esperas a que adivinemos como lo estas haciendo??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/11/2009, 09:48
 
Fecha de Ingreso: junio-2009
Mensajes: 22
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema al guardar las barras de la ruta en mysql con php

Hola pateketrueke, no se a que te refieres con stripslashes(), lo que estoy haciendo es lo siguiente, traigo de la base de datos la ruta de un archivo, la cargo en una variable, modifico el archivo, y lo vuelvo a guardar, modificando la fecha de actualizacion, ahora cuando vuelvo a a ctualizar ese objeto en la base, las rutas me las guardas sin las barras
El codigo en si es bastante simple, ni hace falta mostrarlo creo
¿ Cual puede ser el error ?
  #4 (permalink)  
Antiguo 09/11/2009, 09:55
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Problema al guardar las barras de la ruta en mysql con php

Es que para poder indicarte, necesitamos ver lo que haz hecho.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 09/11/2009, 10:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al guardar las barras de la ruta en mysql con php

Cita:
Iniciado por raleandri Ver Mensaje
[...] El codigo en si es bastante simple, ni hace falta mostrarlo creo
¿ Cual puede ser el error ?
si, tan "simple" que todavia no puedo verlo con mi bola de cristal...

pues que crees ¿que en el foro somos adivinos??


por mas simple que tu creas que es tu código, no podemos deducir nada sin verlo... por favor, se coherente !!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 09/11/2009, 10:27
 
Fecha de Ingreso: junio-2009
Mensajes: 22
Antigüedad: 14 años, 9 meses
Puntos: 1
Oka disculpas entonces por hacerlos operder el tiempo aqui va lo que tengo:

aqui traigo los datos de la tabla canales: y los asigno a cada variable, entre ellas los path que luego al querer actualizar el objeto no los guarda con las barras.

Código php:
Ver original
  1. $i = 0;
  2. $hoy = date("Y-m-d H:i:s");
  3.  
  4.  
  5. if($canales = $canal->consultaCanales()){
  6.  
  7.     while ($i<count($canales)){
  8.         $canales[$i];
  9.         $id = $canales[$i]->getID();
  10.         $desc = $canales[$i]->getDescripcion();
  11.         $url = $canales[$i]->getURL();
  12.         $path_XSL = $canales[$i]->getPathXSL();
  13.         $path_XML = $canales[$i]->getPathXML();
  14.         $path_HTML = $canales[$i]->getPathHTML();
  15.         $intervalo = $canales[$i]->getIntervalo();
  16.         $fecha = $canales[$i]->getFecha();

ahora vuelvo a inicar el objeto canal, y llamo al metodo modificaCanal, este metodo lo que hacees un UPDATE en la base con los datos nuevos

Código php:
Ver original
  1. $canal->iniciaCanal($id,$desc,$url,$path_XSL,$path_XML,$path_HTML,$intervalo,$fecha);
  2.             $canal->modificaCanal();

y eso seria todo

La verdad no se que puede ser, nunaca me habia pasado.
espero se entienda el problema

saludos y gracias

ACA VA EL CODIGO COMPLETO DEL SCRIPT POR LAS DUDAS:

Código php:
Ver original
  1. <?php
  2. include_once 'claseCanal.php';
  3.  
  4.  
  5. $canal = new canal();
  6. $i = 0;
  7. $hoy = date("Y-m-d H:i:s");
  8.  
  9.  
  10. if($canales = $canal->consultaCanales()){
  11.  
  12.     while ($i<count($canales)){
  13.         $canales[$i];
  14.         $id = $canales[$i]->getID();
  15.         $desc = $canales[$i]->getDescripcion();
  16.         $url = $canales[$i]->getURL();
  17.         $path_XSL = $canales[$i]->getPathXSL();
  18.         $path_XML = $canales[$i]->getPathXML();
  19.         $path_HTML = $canales[$i]->getPathHTML();
  20.         $intervalo = $canales[$i]->getIntervalo();
  21.         $fecha = $canales[$i]->getFecha();
  22.  
  23.         //Calcula en minutos diferencia de tiempo entre la ultima actualizacion y la fecha actual
  24.         list($fechaAct, $horaAct) = explode(" ", $hoy);
  25.         list($yearAct, $mesAct, $dayAct) = explode("-", $fechaAct);
  26.         list($horaAct, $minAct, $secAct) = explode(":", $horaAct);
  27.         list($fechaAnt, $horaAnt) = explode(" ", $fecha);
  28.         list($yearAnt, $mesAnt, $dayAnt) = explode("-", $fechaAnt);
  29.         list($horaAnt, $minAnt, $secAnt) = explode(":", $horaAnt);
  30.         $sAct = mktime($horaAct, $minAct, $secAct, $mesAct, $dayAct, $yearAct);
  31.         $sAnt = mktime($horaAnt, $minAnt, $secAnt, $mesAnt, $dayAnt, $yearAnt);
  32.         $diffSeg = $sAct - $sAnt;
  33.         $diffMin = round($diffSeg / 60);
  34.         $diffHoras = $diffMin / 60;
  35.  
  36.         echo"$id<br>$fecha<br>$hoy<br>$diffMin<br>$path_XSL<br>";
  37.  
  38.  
  39.  
  40.         //Comprueba si debe actualizar
  41.         if($intervalo<$diffMin){
  42.  
  43.             // Si existe, carga el archivo XML
  44.  
  45.             if( file_exists( $path_XML ) ) {
  46.                 $xml = new DOMDocument('1.0', 'Windows-1251');
  47.                 $xml->load($path_XML);
  48.             } else {
  49.                 echo"No se encuentra el archivo XML para el canal ".$desc." <br>";
  50.             }
  51.  
  52.             // Si existe, carga el archivo XSL
  53.             if( file_exists( $path_XSL ) ) {
  54.                 $xsl = new DOMDocument;
  55.                 $xsl->load($path_XSL);
  56.             } else {
  57.                 echo"No se encuentra el archivo XSL para el canal ".$desc." <br>";
  58.             }
  59.  
  60.             $proc = new XSLTProcessor;
  61.             $proc->importStyleSheet($xsl);
  62.  
  63.             $contenido = $proc->transformToXML($xml);
  64.  
  65.             $archivo = $path_HTML;
  66.             $fp = fopen($archivo, "a");
  67.             $string = $contenido;
  68.             $write = fputs($fp, $string);
  69.             fclose($fp);
  70.  
  71.             $canal->iniciaCanal($id,$desc,$url,$path_XSL,$path_XML,$path_HTML,$intervalo,$fecha);
  72.             $canal->modificaCanal();
  73.                    
  74.  
  75.         }else{
  76.             echo"NO ES NECESARIO ACTUALIZAR EL CANAL - ".$desc." - <br><br>";
  77.         }
  78.  
  79.         $i++;
  80.     }
  81.  
  82. }else{
  83.     echo"ERROR AL CONECTAR CON LA BASE DE DATOS PARA SELECCIONAR LOS CANALES <br>";
  84. }
  85.  
  86.  
  87. ?>

Última edición por GatorV; 09/11/2009 a las 15:19
  #7 (permalink)  
Antiguo 09/11/2009, 10:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al guardar las barras de la ruta en mysql con php

el problema radica en el método que hace el UPDATE

¿puedes mostrarlo también??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 09/11/2009, 10:42
 
Fecha de Ingreso: junio-2009
Mensajes: 22
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema al guardar las barras de la ruta en mysql con php

Este es el metodo UPDATE de la clase canal, lo que hace es un update a la base, tomando los valores del objeto que llama al metodo


Código php:
Ver original
  1. public function modificaCanal(){
  2.         $consulta="UPDATE canales
  3.         SET descripcion='".$this->getDescripcion()."', url='".$this->getURL()."', path_XSL='".$this->getPathXSL()."', path_XML='".$this->getPathXML()."', path_HTML='".$this->getPathHTML()."', intervalo='".$this->getIntervalo()."', fecha='".$this->getFecha()."'
  4.         WHERE id='".$this->getID()."'";
  5.         $bd=new BaseDatos();
  6.         if($bd->Iniciar()){
  7.             if($bd->Ejecutar($consulta)){
  8.                 return true;
  9.             }else{
  10.                 return false;
  11.                 echo $bd->getError();
  12.             }
  13.         }else{
  14.             return false;
  15.             echo $bd->getError();
  16.         }
  17.     }
  #9 (permalink)  
Antiguo 09/11/2009, 11:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al guardar las barras de la ruta en mysql con php

vamos bien... el punto es que algún metodo de tu clase para base de datos estas haciendo limpieza extrema, y eso mismo podría estar eliminando las barras invertidas...

¿puedes mostrar dicho código??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 09/11/2009, 12:15
 
Fecha de Ingreso: junio-2009
Mensajes: 22
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema al guardar las barras de la ruta en mysql con php

Aqui va el codigo de base de datos completo.
TAmbien mando abajo la claseCanal completa por als dusas que el error este ahi.
Espero púedas ayudarme

Clase Base de Datos
Código php:
Ver original
  1. <?php
  2.  
  3. class BaseDatos {
  4.     private $HOSTNAME;
  5.     private $BASEDATOS;
  6.     private $USUARIO;
  7.     private $CLAVE;
  8.     private $CONEXION;
  9.     private $QUERY;
  10.     private $RESULT;
  11.     private $ERROR;
  12. /**
  13.  * Constructor de la clase que inicia ls variables instancias de la clase
  14.  * vinculadas a la coneccion con el Servidor de BD
  15.  */
  16.     public function __construct(){
  17.         $this->HOSTNAME = "localhost";
  18.         $this->BASEDATOS = "xdatos";
  19.         $this->USUARIO = "root";
  20.         $this->CLAVE="";
  21.         $this->RESULT=0;
  22.         $this->QUERY="";
  23.         $this->ERROR="";
  24.     }
  25. /**
  26.  * Funcion que retorna una cadena
  27.  * con una pequeña descripcion del error si lo hubiera
  28.  *
  29.  * @return cadena
  30.  */
  31.     public function getError(){
  32.         return $this->ERROR;
  33.        
  34.     }
  35.  
  36. /**
  37.  * Inicia la coneccion con el Servidor y la  Base Datos Mysql.
  38.  * Retorna true si la coneccion con el servidor se pudo establecer y false en caso contrario
  39.  *
  40.  * @return boolean
  41.  */
  42.     public  function Iniciar(){
  43.            $conexion = mysql_connect($this->HOSTNAME,$this->USUARIO,$this->CLAVE);
  44.            if ($conexion){
  45.                if (mysql_select_db($this->BASEDATOS,$conexion)){
  46.                     $this->CONEXION = $conexion;
  47.                     unset($this->QUERY);
  48.                     unset($this->ERROR);
  49.                     return true;
  50.                }  else {  
  51.                         $this->ERROR = mysql_errno($conexion) . ": " .mysql_error($conexion);
  52.                         return false;
  53.                }
  54.            }else{
  55.                 $this->ERROR =  mysql_errno($conexion) . ": " .mysql_error($conexion);
  56.                  return false;
  57.            }
  58.       }
  59.    
  60. /**
  61.  * Ejecuta una consulta en la Base de Datos.
  62.  * Recibe la consulta en una cadena enviada por parametro.
  63.  *
  64.  * @param cadena $consulta
  65.  * @return boolean
  66.  */
  67.     public function Ejecutar($consulta){
  68.         unset($this->ERROR);
  69.          $this->QUERY = $consulta;
  70.          if(  $this->RESULT = mysql_query($consulta)){
  71.             return true;
  72.         } else {
  73.             $this->ERROR =mysql_errno( $this->CONEXION).": ". mysql_error( $this->CONEXION);
  74.             return false;
  75.          }
  76.       }
  77.  
  78. /**
  79.  * Devuelve un registro retornado por la ejecucion de una consulta
  80.  * el puntero se despleza al siguiente registro de la consulta
  81.  *
  82.  * @return unknown
  83.  */
  84.     public function Registro() {
  85.        
  86.         if ($this->RESULT){
  87.             unset($this->ERROR);
  88.             if($temp = mysql_fetch_assoc($this->RESULT)){
  89.                     return $temp;
  90.                 }else{
  91.                     mysql_free_result($this->RESULT);
  92.                     return false;
  93.                 }
  94.         }else{
  95.             $this->ERROR = mysql_errno($this->CONEXION) . ": " . mysql_error($this->CONEXION);
  96.             return false;
  97.         }
  98.      }
  99.  
  100. /**
  101.  * Devuelve el id de un campo autoincrement utilizado como clave de una tabla
  102.  * Retorna el id numerico del registro insertado, devuelve null en caso que la ejecucion de la consulta falle
  103.  *
  104.  * @param cadena $consulta
  105.  * @return id de la tupla insertada
  106.  */
  107.     public function devuelveIDInsercion($consulta){
  108.         unset($this->ERROR);
  109.         $this->QUERY = $consulta;
  110.         if ($this->RESULT = mysql_query($consulta)){
  111.               $id = mysql_insert_id();
  112.               return $id;
  113.         } else {
  114.             $this->ERROR =mysql_errno( $this->CONEXION) . ": " . mysql_error( $this->CONEXION);
  115.             return null;
  116.          }
  117.       }
  118.  
  119. }
  120. ?>

Clase Canal
Código php:
Ver original
  1. <?php
  2. include_once "claseBD.php";
  3.  
  4.  
  5. class canal {
  6.    
  7.     public $id_canal;
  8.     public $descripcion;
  9.     public $url;
  10.     public $path_XML;
  11.     public $path_XSL;
  12.     public $path_HTML;
  13.     public $intervalo;
  14.     public $fecha;
  15.  
  16.  
  17.  
  18.     public function setID($id){
  19.         $this->id_canal=$id;
  20.     }
  21.     public function getID(){
  22.         return $this->id_canal;
  23.     }
  24.    
  25.     public function setFecha($fecha){
  26.         $this->fecha=$fecha;
  27.     }
  28.     public function getFecha(){
  29.         return $this->fecha;
  30.     }
  31.    
  32.     public function setDescripcion($desc){
  33.         $this->descripcion=$desc;
  34.     }
  35.     public function getDescripcion(){
  36.         return $this->descripcion;
  37.     }
  38.    
  39.     public function setURL($url){
  40.         $this->url=$url;
  41.     }
  42.     public function getURL(){
  43.         return $this->url;
  44.     }
  45.    
  46.     public function setPathXML($xml){
  47.         $this->path_XML=$xml;
  48.     }
  49.     public function getPathXML(){
  50.         return $this->path_XML;
  51.     }
  52.    
  53.     public function setPathXSL($xsl){
  54.         $this->path_XSL=$xsl;
  55.     }
  56.     public function getPathXSL(){
  57.         return $this->path_XSL;
  58.     }  
  59.    
  60.     public function setPathHTML($html){
  61.         $this->path_HTML=$html;
  62.     }
  63.    
  64.     public function getPathHTML(){
  65.         return $this->path_HTML;
  66.     }
  67.    
  68.     public function setIntervalo($intervalo){
  69.         $this->intervalo=$intervalo;
  70.     }
  71.  
  72.     public function getIntervalo(){
  73.         return $this->intervalo;
  74.     }
  75.    
  76.    
  77.    
  78.     public function iniciaCanal($id_canal,$descripcion,$url,$xsl,$xml,$html,$intervalo,$fecha){
  79.         $this->setID($id_canal);
  80.         $this->setDescripcion($descripcion);
  81.         $this->setURL($url);
  82.         $this->setPathXSL($xsl);
  83.         $this->setPathXML($xml);
  84.         $this->setPathHTML($html);
  85.         $this->setIntervalo($intervalo);
  86.         $this->setFecha($fecha);
  87.     }
  88.  
  89.     public function cargaCanal(){
  90.         $consulta="INSERT INTO canales (id, descripcion, url, path_XSL, path_XML, path_HTML, intervalo, fecha)
  91.         VALUES ('".$this->getID()."','".$this->getDescripcion()."','".$this->getURL()."','".$this->getPathXSL()."','".$this->getPathXML()."','".$this->getPathHTML()."','".$this->getIntervalo()."','".$this->getFecha()."')";
  92.         $bd=new BaseDatos();
  93.         if($bd->Iniciar()){
  94.             if($bd->Ejecutar($consulta)){
  95.                 return true;
  96.             }else{
  97.                 return false;
  98.                 echo$bd->getError();
  99.             }
  100.         }else{
  101.             return false;
  102.             echo$bd->getError();
  103.         }
  104.     }
  105.  
  106.     public function selectCanal($id){
  107.         $consulta="SELECT * FROM canales WHERE id='$id'";
  108.         $bd=new BaseDatos();
  109.         if($bd->Iniciar()){
  110.             if($bd->Ejecutar($consulta)){
  111.                 $resultado=$bd->Registro();
  112.                 if ($resultado!=null){
  113.                     $canal=new canal();
  114.                     $canal->iniciaCanal($resultado['id'],$resultado['descripcion'],$resultado['url'],$resultado['path_XSL'],$resultado['path_XML'],$resultado['path_HTML'],$resultado['intervalo'],$resultado['fecha']);
  115.                     return $canal;
  116.                 }else{
  117.                     return false;
  118.                     echo $resultado;
  119.                 }
  120.             }else{
  121.                 return false;
  122.                 echo$bd->getError();
  123.             }
  124.         }else{
  125.             return false;
  126.             echo$bd->getError();
  127.         }
  128.     }
  129.  
  130.  
  131.     public function modificaCanal(){
  132.         $consulta="UPDATE canales
  133.         SET descripcion='".$this->getDescripcion()."', url='".$this->getURL()."', path_XSL='".$this->getPathXSL()."', path_XML='".$this->getPathXML()."', path_HTML='".$this->getPathHTML()."', intervalo='".$this->getIntervalo()."', fecha='".$this->getFecha()."'
  134.         WHERE id='".$this->getID()."'";
  135.         $bd=new BaseDatos();
  136.         if($bd->Iniciar()){
  137.             if($bd->Ejecutar($consulta)){
  138.                 return true;
  139.             }else{
  140.                 return false;
  141.                 echo $bd->getError();
  142.             }
  143.         }else{
  144.             return false;
  145.             echo $bd->getError();
  146.         }
  147.     }
  148.  
  149.  
  150.     public function ActualizaFechaCanal(){
  151.         $consulta="UPDATE canales
  152.         SET fecha='".$this->getFecha()."'
  153.         WHERE id='".$this->getID()."'";
  154.         $bd=new BaseDatos();
  155.         if($bd->Iniciar()){
  156.             if($bd->Ejecutar($consulta)){
  157.                 return true;
  158.             }else{
  159.                 return false;
  160.                 echo $bd->getError();
  161.             }
  162.         }else{
  163.             return false;
  164.             echo $bd->getError();
  165.         }
  166.     }
  167.    
  168.    
  169.     public function borraCanal(){
  170.         $consulta="DELETE FROM canales WHERE id='".$this->getID()."'";
  171.         $bd=new BaseDatos();
  172.         if($bd->Iniciar()){
  173.             if($bd->Ejecutar($consulta)){
  174.                 return true;
  175.             }else{
  176.                 return false;
  177.                 echo$bd->getError();
  178.             }
  179.         }else{
  180.             return false;
  181.             echo$bd->getError();
  182.         }
  183.     }
  184.    
  185.    
  186.     public function consultaCanales(){
  187.         $consulta="SELECT * FROM canales";
  188.         $bd=new BaseDatos();
  189.         $canales=array();
  190.         if($bd->Iniciar()){
  191.             if ($bd->Ejecutar($consulta)){
  192.                 while($resultado=$bd->Registro()){
  193.                     $canal= new canal();
  194.                     $canal->iniciaCanal($resultado['id'],$resultado['descripcion'],$resultado['url'],$resultado['path_XSL'],$resultado['path_XML'],$resultado['path_HTML'],$resultado['intervalo'],$resultado['fecha']);
  195.                     array_push($canales,$canal);
  196.                 }
  197.                 return $canales;
  198.             }else{
  199.                 return false;
  200.                 echo$bd->getError();
  201.             }
  202.         }
  203.     }
  204.    
  205. }
  206. ?>
  #11 (permalink)  
Antiguo 09/11/2009, 12:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al guardar las barras de la ruta en mysql con php

caray, sigo sin entenderlo...

en ninguna de tus clases se muestra lo que pensaba, en su lugar... ¿que hay del código del cual hablabas inicialmente??

el de la carpeta, porque examinando todo lo que has puesto no veo la relación... o bien, ese ejemplo... ¿puedes ponerlo completamente??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 09/11/2009, 13:16
 
Fecha de Ingreso: junio-2009
Mensajes: 22
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema al guardar las barras de la ruta en mysql con php

Esto estodo lo que tengo amigos, nada mas de codigo, solo resta el script de la base que este:

Código sql:
Ver original
  1. -- phpMyAdmin SQL Dump
  2. -- version 3.2.0.1
  3.  
  4. --
  5. -- Servidor: localhost
  6. -- Tiempo de generación: 09-11-2009 a las 17:09:36
  7. -- Versión del servidor: 5.1.37
  8. -- Versión de PHP: 5.3.0
  9.  
  10. SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
  11.  
  12. --
  13. -- Base de datos: `xdatos`
  14. --
  15.  
  16. -- --------------------------------------------------------
  17.  
  18. --
  19. -- Estructura de tabla para la tabla `canales`
  20. --
  21.  
  22. CREATE TABLE IF NOT EXISTS `canales` (
  23.   `id` INT(11) NOT NULL AUTO_INCREMENT,
  24.   `descripcion` VARCHAR(200) NOT NULL,
  25.   `url` VARCHAR(200) NOT NULL,
  26.   `path_XSL` VARCHAR(200) NOT NULL,
  27.   `path_XML` VARCHAR(200) NOT NULL,
  28.   `path_HTML` VARCHAR(200) NOT NULL,
  29.   `intervalo` VARCHAR(200) NOT NULL,
  30.   `fecha` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  31.   PRIMARY KEY (`id`)
  32. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
  33.  
  34. --
  35. -- Volcar la base de datos para la tabla `canales`
  36. --
  37.  
  38. INSERT INTO `canales` (`id`, `descripcion`, `url`, `path_XSL`, `path_XML`, `path_HTML`, `intervalo`, `fecha`) VALUES
  39. (1, 'Biblioteca', 'aquiva url', 'C:\\xampp\\htdocs\\datos\\docs\\xsl\\xsl.xsl', 'C:\\xampp\\htdocs\\datos\\docs\\xml\\prueba.xml', 'C:\\xampp\\htdocs\\datos\\docs\\html\\prueba.html', '30', '2009-11-09 16:45:39'),
  40. (2, 'Dolar', 'aqui va url', 'C:\\xampp\\htdocs\\datos\\docs\\xsl\\xsl.xsl', 'C:\\xampp\\htdocs\\datos\\docs\\xml\\prueba.xml', 'C:\\xampp\\htdocs\\datos\\docs\\html\\prueba.html', '120', '2009-11-09 15:00:07');

No entiendo por que elimina las barras al cargar las rutas en la base, ya que si muestro l contenido de las variables php antes de cargarlas estan ahi. Espero puedan darme una mano, de tdas maneras muchas gracias desde ya por su atencion

un saludo
  #13 (permalink)  
Antiguo 09/11/2009, 13:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al guardar las barras de la ruta en mysql con php

Cita:
Iniciado por raleandri Ver Mensaje
[...]
tengo una variable que contiene un directorio, Ej:
$directorio = "C:\\Carpteta\\Subcarpeta";
[...]
me refiero a esto... ¿donde esta el código donde capturas la ruta??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 09/11/2009, 14:33
 
Fecha de Ingreso: junio-2009
Mensajes: 22
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema al guardar las barras de la ruta en mysql con php

Código php:
Ver original
  1. if($canales = $canal->consultaCanales()){
  2.    while ($i<count($canales)){
  3.         $canales[$i];
  4.         $id = $canales[$i]->getID();
  5.         $desc = $canales[$i]->getDescripcion();
  6.         $url = $canales[$i]->getURL();
  7.         $path_XSL = $canales[$i]->getPathXSL();
  8.         $path_XML = $canales[$i]->getPathXML();
  9.         $path_HTML = $canales[$i]->getPathHTML();
  10.         $intervalo = $canales[$i]->getIntervalo();
  11.         $fecha = $canales[$i]->getFecha();

en esta oparte del codigo llamo al metodo consultaCanales(), que se encarga de recorrer la tabla canales y traer toda la info, ahi mismo le asigo las rutas a las variables path_HTML, path_XML, etc. Hasta ahi vamos si yo imprimo la variable, tengo el valor correcto, el tema es al guardarla en la base, a la base llegan sin las barras.
Puede ser algun problemas de codificaccion de la base ??
  #15 (permalink)  
Antiguo 09/11/2009, 14:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al guardar las barras de la ruta en mysql con php

no, nada tiene que ver con la codificación... lo que sucede es que la barra invertida es un carácter especial..

tal ves la solución esté en utilizar addslashes() sobre tu variable que contiene la ruta...

o bien, reemplazarlas por la barras normal... que, aún siendo Windows PHP interpreta como debe ser...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 09/11/2009, 15:21
 
Fecha de Ingreso: junio-2009
Mensajes: 22
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema al guardar las barras de la ruta en mysql con php

OK !! pateketrueke muchas gracias por tu ayuda.
Solucione el problema, modificando el metodo que actualiza, en el mismo ahora solo modifico la fecha y no toco las rutas, ya que no hacia falta.
Pero de todas maneras voy a tener que solucionarlo al momento de crear el ABM de los canales, lo pruebo y te cuento como fue asi dejamos la solucion para alguna otra persona.

Un saludo y gracias nuevamente !
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:26.