Sql libre!!!

30/09/2004 - 18:45 por ayabass | Informe spam
Llevo unos dias comiendome la olla con este tema, tengo una web, en una
seccion privada de la misma quiero q, en un text area q tengo pueda escribir
el codigo sql q quiera bueno solo "insert", delete, o update nada de mostrar
y q lo ejecute el codigo usado por mi es el siguiente:

<?php
include ('datos.php');
$codigo = $_POST['codigo'];
function quitar($mensaje)
{
$mensaje = str_replace("<","&lt;",$mensaje);
$mensaje = str_replace(">","&gt;",$mensaje);
$mensaje = str_replace("\'","&#39;",$mensaje);
$mensaje = str_replace('\"',"&quot;",$mensaje);
$mensaje = str_replace("\\\\","&#92",$mensaje);
return $mensaje;
}
$sentencias=split(";",$codigo);
for($i=0;$sentencias[$i];$i++)
{
$sentenciaN[$i] = quitar($sentencias[$i]);
echo $sentenciaN[$i],"<br>";
$sql = " $sentenciaN[$i] ";
mysql_query($sql, $conexion);
}
?>

Bien pues ay una forma q si me funciona q es si pongo esto: DELETE FROM ZONA
WHERE Zona= 1 por ej, pero esto ya falla: DELETE FROM ZONA WHERE Zona'1', asi q supongo q tendra q ver algo con las comillas no se probe de todos
y algun consejo q me dieron pero nada tiene q ser o por trabajasr con
cadenas entonno se pq me voy contradecir si alguien sabe, se lo
agradecere muchisiomooo

Gracias, Salu2

Preguntas similare

Leer las respuestas

#1 Gabriel
30/09/2004 - 22:29 | Informe spam
Es que si el campo ZONA es numerico, no hace falta usar las comillas para
comparar el valor, ahora, si el campo zona es Alfanumérico, siempre van
comillas ..

Zona ='1' (zona es alfa)

Zona = 1 (zona es numerico)


Gabriel.


"ayabass" escreveu na mensagem
news:
Llevo unos dias comiendome la olla con este tema, tengo una web, en una
seccion privada de la misma quiero q, en un text area q tengo pueda
escribir
el codigo sql q quiera bueno solo "insert", delete, o update nada de
mostrar
y q lo ejecute el codigo usado por mi es el siguiente:

<?php
include ('datos.php');
$codigo = $_POST['codigo'];
function quitar($mensaje)
{
$mensaje = str_replace("<","&lt;",$mensaje);
$mensaje = str_replace(">","&gt;",$mensaje);
$mensaje = str_replace("\'","&#39;",$mensaje);
$mensaje = str_replace('\"',"&quot;",$mensaje);
$mensaje = str_replace("\\\\","&#92",$mensaje);
return $mensaje;
}
$sentencias=split(";",$codigo);
for($i=0;$sentencias[$i];$i++)
{
$sentenciaN[$i] = quitar($sentencias[$i]);
echo $sentenciaN[$i],"<br>";
$sql = " $sentenciaN[$i] ";
mysql_query($sql, $conexion);
}
?>

Bien pues ay una forma q si me funciona q es si pongo esto: DELETE FROM
ZONA
WHERE Zona= 1 por ej, pero esto ya falla: DELETE FROM ZONA WHERE Zona> '1', asi q supongo q tendra q ver algo con las comillas no se probe de
todos
y algun consejo q me dieron pero nada tiene q ser o por trabajasr con
cadenas entonno se pq me voy contradecir si alguien sabe, se lo
agradecere muchisiomooo

Gracias, Salu2


Respuesta Responder a este mensaje
#2 ayabass
01/10/2004 - 09:10 | Informe spam
Vale, ok pero ni me inserta ni me actualiza es decir algo falla y eso q
muestro el codigo antes de meterlo y aparentemente es correcto y me falla
pq?¿, llevo ya probado muchas cosas la solucion sera una tonteria pero algo
distinto a lo q estoy haciendo o nno se pq ya..., Gracias!!!



"Gabriel" escribió en el mensaje
news:usch$
Es que si el campo ZONA es numerico, no hace falta usar las comillas para
comparar el valor, ahora, si el campo zona es Alfanumérico, siempre van
comillas ..

Zona ='1' (zona es alfa)

Zona = 1 (zona es numerico)


Gabriel.


"ayabass" escreveu na mensagem
news:
> Llevo unos dias comiendome la olla con este tema, tengo una web, en una
> seccion privada de la misma quiero q, en un text area q tengo pueda
> escribir
> el codigo sql q quiera bueno solo "insert", delete, o update nada de
> mostrar
> y q lo ejecute el codigo usado por mi es el siguiente:
>
> <?php
> include ('datos.php');
> $codigo = $_POST['codigo'];
> function quitar($mensaje)
> {
> $mensaje = str_replace("<","&lt;",$mensaje);
> $mensaje = str_replace(">","&gt;",$mensaje);
> $mensaje = str_replace("\'","&#39;",$mensaje);
> $mensaje = str_replace('\"',"&quot;",$mensaje);
> $mensaje = str_replace("\\\\","&#92",$mensaje);
> return $mensaje;
> }
> $sentencias=split(";",$codigo);
> for($i=0;$sentencias[$i];$i++)
> {
> $sentenciaN[$i] = quitar($sentencias[$i]);
> echo $sentenciaN[$i],"<br>";
> $sql = " $sentenciaN[$i] ";
> mysql_query($sql, $conexion);
> }
> ?>
>
> Bien pues ay una forma q si me funciona q es si pongo esto: DELETE FROM
> ZONA
> WHERE Zona= 1 por ej, pero esto ya falla: DELETE FROM ZONA WHERE Zona> > '1', asi q supongo q tendra q ver algo con las comillas no se probe de
> todos
> y algun consejo q me dieron pero nada tiene q ser o por trabajasr con
> cadenas entonno se pq me voy contradecir si alguien sabe, se lo
> agradecere muchisiomooo
>
> Gracias, Salu2
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida