Foros del Web » Programando para Internet » PHP »

no borra en MYSQL

Estas en el tema de no borra en MYSQL en el foro de PHP en Foros del Web. Hola, estoy intentando borrar unos campos de MYSQL, pero no me borra. Dejo el cvodigo, para que le echeis un vistazo. Al parecer creo que ...
  #1 (permalink)  
Antiguo 22/01/2010, 03:21
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
no borra en MYSQL

Hola, estoy intentando borrar unos campos de MYSQL, pero no me borra.
Dejo el cvodigo, para que le echeis un vistazo.

Al parecer creo que todo está bien.

Código PHP:
$codigo=$_SESSION[codigo_empresa];
$servidor2 mysql_real_escape_string($_POST["servidor"]);

mysql_query("delete from i_servidores WHERE nombre_servidor like '$servidor2' and codigo_empresa='$codigo'"$link); 
  #2 (permalink)  
Antiguo 22/01/2010, 04:04
 
Fecha de Ingreso: diciembre-2009
Ubicación: entre Ibiza y Barcelona :)
Mensajes: 92
Antigüedad: 14 años, 4 meses
Puntos: 3
Respuesta: no borra en MYSQL

si lo que quieres es borrar un campo mira este post:
[URL]http://www.forosdelweb.com/f21/como-puedo-eliminar-campo-mysql-310546/[/URL]

solo hay que buscar un poquito
  #3 (permalink)  
Antiguo 22/01/2010, 04:35
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Respuesta: no borra en MYSQL

Hola Davicito,

solo una cosa, cuando uses el mysql_query, acostumbrate a capturar su error en su debido caso.
por ejemplo:
Código PHP:
Ver original
  1. mysql_query($tu_sentencia) or die("Error SQL:".mysql_error());

es posible q tengas un error en tu sentencia sql q no hayas detectado, como por ejemplo, las variables que le pasas a la sentencia WHERE, te llegan bien?

con un simple ECHO podrías detectarlo:
Código PHP:
Ver original
  1. $str_del = "delete from i_servidores WHERE nombre_servidor like '".$servidor2."' and codigo_empresa='".$codigo."'";
  2. echo $str_del; // Podras ver tu sentencia SQL si esta bien y las variables correctas
  3. mysql_query($str_del, $link) or die("Error SQL:".mysql_error()."<br> Sentencia: ".$str_del);
  4. // o puedes añadirlo en el die... eso a tu gusto!

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #4 (permalink)  
Antiguo 22/01/2010, 04:43
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: no borra en MYSQL

gracias, voya comprobar
  #5 (permalink)  
Antiguo 22/01/2010, 05:00
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: no borra en MYSQL

vale. me pone esto.

delete from i_servidores WHERE nombre_servidor like 'Dic\\ejemplo' and codigo_empresa='11'

pero el el problema, es que no es con " \\ " es solo con "\"

como peudo corregir eso?


si le quito la funcion, mysql_real_escape_string. Me poen el nombre bien, pero no me borra el registro
  #6 (permalink)  
Antiguo 22/01/2010, 05:11
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Respuesta: no borra en MYSQL

Para quitar las barras usa la funcion http://www.php.net/manual/en/function.stripslashes.php

si no te borra nada, tu sentencia... mmmm, ese Like? Pruebalo asi:

Código PHP:
Ver original
  1. $str_del = "delete from i_servidores WHERE nombre_servidor like '%".$servidor2."%' and codigo_empresa='".$codigo."'";
  2. echo $str_del; // Podras ver tu sentencia SQL si esta bien y las variables correctas
  3. mysql_query($str_del, $link) or die("Error SQL:".mysql_error()."<br> Sentencia: ".$str_del);
  4. // o puedes añadirlo en el die... eso a tu gusto!

el Like tiene q indicarle que parte de la cadena estas buscando, por eso se usa el %, eso significa q cualquier servidor q contenga la variable q le pasas se borrara!

Cita:
"nombre_columna" LIKE {patrón}

{patrón} generalmente consiste en comodines. Aquí hay algunos ejemplos:

'A_Z': Toda línea que comience con 'A', otro carácter y termine con 'Z'. Por ejemplo, 'ABZ' y 'A2Z' deberían satisfacer la condición, mientras 'AKKZ' no debería (debido a que hay dos caracteres entre A y Z en vez de uno).
'ABC%': Todas las líneas que comienzan con 'ABC'. Por ejemplo, 'ABCD' y 'ABCABC' ambas deberían satisfacer la condición.
'%XYZ': Todas las líneas que terminan con 'XYZ'. Por ejemplo, 'WXYZ' y 'ZZXYZ' ambas deberían satisfacer la condición.
'%AN%': : Todas las líneas que contienen el patrón 'AN' en cualquier lado. Por ejemplo, 'LOS ANGELES' y 'SAN FRANCISCO' ambos deberían satisfacer la condición.
fuente: http://sql.1keydata.com/es/sql-like.php

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #7 (permalink)  
Antiguo 22/01/2010, 05:19
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: no borra en MYSQL

nada, tampoco. Esque loq ue me esta fastidiando es esto " EJEMPLO\EJEMPLO "

Aunque le ponga el % no sale :S
  #8 (permalink)  
Antiguo 22/01/2010, 05:21
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Respuesta: no borra en MYSQL

Cita:
Iniciado por davicito Ver Mensaje
nada, tampoco. Esque loq ue me esta fastidiando es esto " EJEMPLO\EJEMPLO "

Aunque le ponga el % no sale :S
y eso EJEMPLO/EJEMPLO, que es?
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #9 (permalink)  
Antiguo 22/01/2010, 05:26
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: no borra en MYSQL

es el nombre que tengo que borrar, es un nombre de un servidor que he puesto yo.

que estoy seguro de que lo pondran... por eso no quiero que surgan luego problemas...
  #10 (permalink)  
Antiguo 22/01/2010, 05:28
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Respuesta: no borra en MYSQL

y cuando imprimes tu sentencia q te muestra? postea tu código actual?
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #11 (permalink)  
Antiguo 22/01/2010, 05:29
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: no borra en MYSQL

me la muestar bien, tal y como es...

delete from i_servidores WHERE nombre_servidor like 'EJEMPLO\EJEMPLO' and codigo_empresa='11'
  #12 (permalink)  
Antiguo 22/01/2010, 05:35
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Respuesta: no borra en MYSQL

y sino es EJEMPLO\EJEMPLO va bien?
solo una cosillas mas, en es tabla donde tiene el código de empresa y el nombre de Servidor, porque no le crear una clave auto-numérica la cual identifique ese campo?
es decir -> id_servidor, nombre_servidor, Codigo_Empresa asi tus sentencias serias mas faciles y no tendrias problema con los nombres...
-> DELETE FROM i_servidores WHERE id_servidor=$ID -

y una ultima cosa, tu usuario con el que te conectas a la BD tiene derechos de Borrar campos?


si haces un SELECT * FROM i_servidores LIKE '%EJEMPLO/EJEMPLO%' AND codio_empresa = 11; q te devuelve?
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #13 (permalink)  
Antiguo 22/01/2010, 05:38
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: no borra en MYSQL

lo se, la tengo jajajaja. Lo unico que me daba pereza hacerlo asi en php, ya que tenai todo el codigo bn organizacito, pero creo que va a ser lo mejor... Y mevoya quitar de lios....

Si no no tiene el caracter "\" va perfecto....
  #14 (permalink)  
Antiguo 22/01/2010, 05:41
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: no borra en MYSQL

ya lo tengo echo con el ID del servidor, y funciona correctamente...

No se me encabezonado con ponerlo de la otra manera, pero asi sale bien, y tambien es mas seguro...
  #15 (permalink)  
Antiguo 22/01/2010, 05:42
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Respuesta: no borra en MYSQL

ok! Tema zanjado!

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #16 (permalink)  
Antiguo 22/01/2010, 05:44
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: no borra en MYSQL

Gracias :)

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:16.