|    
			
				28/04/2005, 07:22
			
			
			  | 
  |   | O_O |  |  Fecha de Ingreso: enero-2002 Ubicación: Santiago - Chile 
						Mensajes: 34.417
					 Antigüedad: 23 años, 9 meses Puntos: 129 |  | 
  |  Esto de aquí:$_GET [ $variable ] = str_replace ( "'" , "\'" , $_GET [ $variable ]);
 
 Se pude solventar con:
 mysql_escape_string()
 
 y aplicarlo sólo a las variables que realmente intervengan en tu consulta SQL .. Pero bueno .. si quieres aplicarlo a todo .. OK.
 
 El caso es que todo depende del estado de (php.ini) magic_guote_gpc() .. (por lo menos en la solución que plantea " Eloi de San Martín" (me gustaría ver el link de donde publicó ese tema para hacerle el comentario) Por defecto dicha directiva suele estar a "ON" .. por ende se añaden automáticamente los caracteres de espace (el /) a comillas ... Por eso si se usa a ON esta directiva y luego se vuelve añadir otro / .. el resultado no será el correcto (tendremos dos) como para luego aplicar un stripslashess() a la hora de recuperar el dato.
 
 por otro lado .. por ejemplo .. depende del RDBMS que se use .. así podrás hacer algo como tu ejemplo:
 pagintabonita.php?id=145225;DELETE FROM usuarios
 
 o no ..
 
 Por ejemplo Mysql (con su cliente mysql_xxx() funciones) .. no permite ejecutar várias sentencias SQL en un mysql_query() separadas por ; .. pero otros motores de BD como MS SQL Server .. o incluso Mysql con sus mysqli_xxx() (para Mysql 4.1.x en adelante) si que permite ejecutar várias sentencias SQL separadas por ; ... Así que en determinados casos estamos "salvados" por "defecto" según que BD se use ...
 
 Un saludo,
     |