Foros del Web » Programando para Internet » PHP »

Problemas con sentencias SQL

Estas en el tema de Problemas con sentencias SQL en el foro de PHP en Foros del Web. Hola compañeros! Me he instalado un servidor en mi PC y tengo un problemilla a la hora de ejecutar sentencias SQL que nunca he tenido ...
  #1 (permalink)  
Antiguo 07/09/2002, 11:52
 
Fecha de Ingreso: septiembre-2002
Mensajes: 2
Antigüedad: 15 años, 3 meses
Puntos: 0
Problemas con sentencias SQL

Hola compañeros!

Me he instalado un servidor en mi PC y tengo un problemilla a la hora de ejecutar sentencias SQL que nunca he tenido en otros servidores, me explico:

Supongamos que quiero insertar un registro en la tabla"usuarios", este sería el código:

$query="INSERT INTO usuarios (user,pass) VALUES ('$user','$pass')";

$insert = mysql_query($query,$conexion);


Pues bien, MySQL dice que hay un error, y es debido a que en vez de recibir esto...

INSERT INTO usuarios (user,pass) VALUES ('usuario1','password1')

...recibe lo siguiente...

INSERT INTO usuarios (user,pass) VALUES (\'usuario1\',\'password1\')

Y me pregunto...¿Por qué sustituye los ' por \'?
Como he comentado, esto sólo me ha pasado en el "EasyPHP" (Servidor Apache+PHP+MySQL) que me he instalado...

NOTA
las ' son comillas simples
las \ son contra-barras


Espero que me podáis ayudar...

Gracias y un saludo. ;)
  #2 (permalink)  
Antiguo 07/09/2002, 12:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Re: Problemas con sentencias SQL

El "$query" .. lo lanzas desde un formulario y/o URL? me refiero tal cual defines la varaiable $query="SELECT tal tal ta" ...

Si fuera así .. usa:
$query=stripslashes($query);

mas info:
<a href='ir.asp?http://www.php.net/manual/es/function.stripslashes.php' target='_blank'>http://www.php.net/manual/es/function.st...</a>

Un saludo,
  #3 (permalink)  
Antiguo 08/09/2002, 07:38
 
Fecha de Ingreso: septiembre-2002
Mensajes: 2
Antigüedad: 15 años, 3 meses
Puntos: 0
Re: Problemas con sentencias SQL

Gracias!

Voy a probarlo, auque ya habia encontrado una solución...no se si será mejor:

En el PHP.INI hay una variable llamada magic_quotes_gpc. Por defecto la tenía a ON, eso es lo que hace que las comillas simples se sustituyan por barra-comilla...

Un saludo! ;)
  #4 (permalink)  
Antiguo 08/09/2002, 09:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Re: Problemas con sentencias SQL

Así es . el magic_quotes hace eso automaticamente si lo tienes a ON ...

El hecho de usarlo asi por defecto te obliga a usar las funciones stripslashes() ..

Tambien te recuerdo que si lo desabilitas .. en alguna ocasión tendras q usar addslashes() para añadir esas \ de escape ... sino tendras problemas al pasar datos via URL principalmente.

Un saludo,
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 15:16.