Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ¿Por qué se insertan guiones bajos?

Estas en el tema de ¿Por qué se insertan guiones bajos? en el foro de PHP en Foros del Web. Hola a todos Estoy haciendo un script que incluye estas dos consultas: Código PHP: $sql  =  "INSERT INTO tablauno (cadena) VALUES ('$key')" ;      $sqldos  =  "DELETE FROM tablados WHERE cadena = ('$key')" ;  Es decir, ...
  #1 (permalink)  
Antiguo 25/01/2016, 16:03
Musiker
Invitado
 
Mensajes: n/a
Puntos:
¿Por qué se insertan guiones bajos?

Hola a todos

Estoy haciendo un script que incluye estas dos consultas:

Código PHP:
$sql "INSERT INTO tablauno (cadena) VALUES ('$key')";
    
$sqldos "DELETE FROM tablados WHERE cadena = ('$key')"
Es decir, borra un registro de la tabla original y lo inserta en otra. El problema es que, al insertar la cadena, lo hace con guiones bajos, Por ejemplo: hola como estas, la inserta como hola_como_estas. Quería saber por qué sucede y cómo puedo evitarlo.

Muchas gracias a todos.
  #2 (permalink)  
Antiguo 25/01/2016, 16:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ¿Por qué se insertan guiones bajos?

Mira, La base de datos no inventa caracteres, solo inserta lo que recibe, por lo tanto si está insertando guiones bajos, es que los estás metiendo con la variable.
Lo que hay que verificar es hacia atrás, a ver en qué momento aparecen, y para eso deberías postear todo el código, desde el momento en que recuperas los datos, sea por POST o GET.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 25/01/2016, 16:35
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Respuesta: ¿Por qué se insertan guiones bajos?

Cita:
Iniciado por Musiker Ver Mensaje
Hola a todos

Estoy haciendo un script que incluye estas dos consultas:

Código PHP:
$sql "INSERT INTO tablauno (cadena) VALUES ('$key')";
    
$sqldos "DELETE FROM tablados WHERE cadena = ('$key')"
Es decir, borra un registro de la tabla original y lo inserta en otra. El problema es que, al insertar la cadena, lo hace con guiones bajos, Por ejemplo: hola como estas, la inserta como hola_como_estas. Quería saber por qué sucede y cómo puedo evitarlo.

Muchas gracias a todos.
Te voy a dejar esta informacion sobre las comillas, seguro te servirá.
__________________
Solo soy un simple fanático que mata el tiempo de la mejor manera.
  #4 (permalink)  
Antiguo 27/01/2016, 11:19
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Por qué se insertan guiones bajos?

Hola, perdón por el retraso en responder.
Gracias a los 2 colaboradores por las respuestas. GNZSOLOYO Gracias, la verdad es que pensé que los guiones bajos los incluía la base de datos porque de lo contrario generaba un error al existir espacios en blanco
El código completo desde que recupero los datos es este. Si necesitas el resto del script, avísame. He comprobado que los guiones bajos ya empiezan a salir en el "echo" que muestra la variable $key.

Código PHP:
include ("conexion.php");

foreach (
$_POST as $key => $value){
        echo 
"<br>";
        echo 
"KEY ES: $key"
        echo 
"<br>";
        echo 
"VALUE ES: $value";
        echo 
"<br>";
            
            if(
$value=="SI")
            {
                
                
$sql "INSERT INTO tablauno (cadena) VALUES ('$key')"//insert
                
$sqldos "DELETE FROM tablados WHERE cadena = ('$key')";
                
                
mysql_query($sql$conexion) or die ("*** ERROR EN LA CONSULTA ***: ".mysql_error());
                
mysql_query($sqldos$conexion) or die ("*** ERROR EN LA CONSULTA ***: ".mysql_error());
                echo 
"<br>";
                echo 
"SE HA INSERTADO CORRECTAMENTE.";                    

            } 
Cita:
Iniciado por gnzsoloyo Ver Mensaje
Mira, La base de datos no inventa caracteres, solo inserta lo que recibe, por lo tanto si está insertando guiones bajos, es que los estás metiendo con la variable.
Lo que hay que verificar es hacia atrás, a ver en qué momento aparecen, y para eso deberías postear todo el código, desde el momento en que recuperas los datos, sea por POST o GET.

Etiquetas: sql
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 04:01.