Código libre

¿Puedes reenviar la pregunta? Parece que se ha guardado mal, no puedo leer el contenido...

1 respuesta

Respuesta
1
Mándamelo aquí:
[email protected]
No creo que no es eso ademas no pueden ser variables, es decir tiene que poner solo esto:
DELETE FROM CUAL WHERE cual = 1
Borrar el cual 1, no se si me explico.
Gracias
¿Te llego? ¿
Es un conflicto corriente de entrecomillados. Prueba de otras formas, p.ej:
$tal = "loqsea";
$sql = "DELETE FROM CUAL WHERE cual = "$tal"";
o bien
$tal = "loqsea";
$sql = "DELETE FROM CUAL WHERE cual = '".$tal."'";
Bien te la vuelvo escribir, mi problema es que he realizado una página en la cual tengo un textarea, y en el quiero poder meter el código sql que quiera y me lo ejecute, la página la he realizado en php, bien es un código sencillo no lo pongo porque no quiero que me corrijas sino que me digas como se hace porque el mio se que esta bien pero no funciona bueno te lo pongo mejor:
Debí inventar algo con mi código porque me es imposible mandártelo ya antes me paso igual un menseje normal si pero com mi código no va je je
Me puedes comentar el código linea linea el php nada más y el action también. Gracias. Saludos
Perdona, no había entendido bien el problema.
Prueba sin parsear el mensaje, sin añadir barras invertidas a las comillas.
Un código simple como éste:
<?
if($_POST) {
$sql = $_POST['sql'];
echo $sql."<br><br>";
$link = mysql_connect("localhost", "root", "");
mysql_select_db("base_de_datos");
$res = mysql_query($sql,$link);
if($res) echo "ok<br><br>";
else echo "no<br>$res<br>";
}
?>
<html>
<head>
<title>SQL</title>
</head>
<body>
<form action=<?=$_POST['PHP_SELF'];?> method=POST>
<textarea name='sql' rows=6 cols=40>
</textarea><br>
<input type='submit' name='Ejecutar'>
</form>
</body>
</html>
Funciona con:
DELETE FROM tabla WHERE cual = 'tal'
y también con:
DELETE FROM tabla WHERE cual = "tal"
Discúlpame por el retardo.
Saludos,
iNphYx
Me he dado cuenta de que el action del form es incorrecto, en lugar de
<?=$_POST['PHP_SELF'];?>
debería ser:
<?=$_SERVER['PHP_SELF'];?>
$_SERVER['PHP_SELF'] contiene el nombre de la propia página, para que se envíe los datos del formulario a ella misma. <?= es equivalente a escribir <?echo .
Tanto $_SERVER como $_POST son variables predefinidas PHP, las cuales contienen datos de sistema la primera y datos de formulario POST la segunda. Echa un vistazo a este artículo para más detalles:
http://www.desarrolloweb.com/articulos/309.php?manual=12
<?
if($_POST) {
//si se ha sometido el formulario, $_POST tendrá algún valor, entoces se entra en el if
$sql = $_POST['sql'];
//Si el parámetro Register_globals del php.ini está en On esta línea es prescindible
//Si está en Off sólo podremos acceder a los datos de formulario mediante $_POST['nombre_variable']
//Asignamos $_POST['sql'] a $sql para acortar el nombre de la variable
echo $sql."<br><br>";
//Mostramos el contenido de $sql
$link = mysql_connect("localhost", "root", "");
//conexión a mysql
mysql_select_db("base_de_datos");
//selección de la base de datos
$res = mysql_query($sql,$link);
//ejecución de la orden $sql
if($res) echo "ok<br><br>";
//si se ha ejecutado correctamente ecribimos ok
else echo "no<br>$res<br>";
//si se ha producido algún error (sintaxis) escribimos no
}
?>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas