Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Eliminar registro de BD desde PHP (https://www.clubdelphi.com/foros/showthread.php?t=52703)

fide 29-01-2008 06:11:19

Eliminar registro de BD desde PHP
 
Hola. Me pueden decir que tiene de error este codigo que no me quiere funcionar???

Código PHP:

 <?php
 
         $dmes 
$_GET['dmes'];
        
$dtitle $_GET['dtitle'];
        
$dautor $_GET['dautor'];
                
        
# printf('%s - %s - %s', $dmes, $dtitle, $dautor);    
         
         #?dmes=12&ign=1&dtitle=Edriannis%20marica&dautor=Fidel,%20Edriannis
  
  
$link mysql_connect ("localhost:3306""root");

    
mysql_select_db ("SIGECINT_DB");

    
$query sprintf("DELETE FROM r_pn_acc WHERE mes = '%s' AND titulo = '%s' AND autor = '%s' "$dmes$dtitle$dautor);
    
$result mysql_query ($query);
    print 
$query;
    
    
mysql_close($link);
?>

Gracias de ante manos.

dec 29-01-2008 12:37:16

Hola,

El código anterior, aparentemente, debe funcionar. Puedes recurrir a "mysql_error()" para averiguar si la consulta SQL no se ejecutó correctamente. De pasada, sólo un par de observaciones:

1º, no validas ni escapas los datos de entrada, con lo que en principio estás expuesto a que te hagan "SQL injection", por ejemplo, o a que las cosas no vayan como tú esperas.

2º, generalmente se usa un identificador para borrar registros de la base de datos, un campo numérico "clave" que sirve para eso, entre otras muchas cosas. ¿Tú cómo lo ves?

cHackAll 29-01-2008 22:03:28

Cita:

Empezado por fide (Mensaje 261751)
Hola. Me pueden decir que tiene de error este codigo que no me quiere funcionar???

Bueno... estas obteniento el recurso del enlace de la conexion con la BD pero no veo que la estes utilizando... obtienes $link, esa varliable la debes utilizar al llamar a mysql_select_db & mysql_query.

Ej.
Código PHP:

$link =& mysql_connect ("localhost:3306""root");
mysql_select_db($link"SIGECINT_DB");
... 

Saludos

fide 30-01-2008 00:43:26

cHackAll amigo, el PHP con el que trabajo que es la version 5.2.5 Stable, no es necesário parsar a esas instrucciones el link de conexion. A mi me funciona bien lo de la conexion, lo de seleccion de bd e incluso lo de mostrar los datos que tiene esa tabla. El problema, como dije antes es que la instruccion SQL no me quiere correr.

Lo que si me di cuenta es lo que dice dec, que no valido los datos de entrada, pero bueno eso no es lo que me preocupa ahora. Tambien es cierto que no estoy usando mi campo id para diferenciar los registros. Es que ese code lo elabora apuradito, bajo las circunstancias en que me encontraba en ese momento, por ello no analice estos puntos.

Muchas gracias por la ayuda que me han brindado. Espero poder ayudarlos a ustedes tambien!

Hagen 31-01-2008 13:08:54

Hola.

Deberias probar la consulta de forma aislada usando un manejador para MySQL,
para ver si la consulta se ejecuta correctamente.

lucasarts_18 31-01-2008 14:01:44

Cita:

Empezado por Hagen (Mensaje 262336)
Hola.

Deberias probar la consulta de forma aislada usando un manejador para MySQL,
para ver si la consulta se ejecuta correctamente.

Si, lo que a mí siempre me da buenos resultados es copiar la instrucción sql que lanzo por pantalla para luego copiarla a un manejador sql y así poder depurar. :)

Hasta Luego .-


La franja horaria es GMT +2. Ahora son las 06:23:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi