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
 

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


Preguntas similares