Foros del Web » Programando para Internet » PHP »

Quiero borrar un registro y me da error

Estas en el tema de Quiero borrar un registro y me da error en el foro de PHP en Foros del Web. Soy nuevo en php y mysql, lo que sucede es lo siguiente cuando intento borrar un registro de la base de datos me da el ...
  #1 (permalink)  
Antiguo 20/11/2006, 23:49
 
Fecha de Ingreso: agosto-2004
Mensajes: 58
Antigüedad: 20 años, 3 meses
Puntos: 0
Quiero borrar un registro y me da error

Soy nuevo en php y mysql, lo que sucede es lo siguiente cuando intento borrar un registro de la base de datos me da el siguiente error Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\Archivos de programa\wamp\www\...

El codigo que uso es el siguiente:

Código PHP:
<?php

require ("db.inc.php");

$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die(header ("Location:  $redir?error_login=0"));
mysql_select_db("$sql_db");

$cliente=($HTTP_POST_VARS['cliente']);
$busqueda="SELECT * FROM clientes WHERE id ='$cliente'";
$resultado_b=mysql_query($busqueda); 
if(
$row=mysql_fetch_row($resultado_b)) 

echo 
"<table border = '1'> \n";
echo 
"</tr> \n"
do
{
echo 
"<td>".$row[1]."</td> \n"
echo 
"<td>".$row[3]."</td> \n"
echo 
"<td>".$row[4]."</td> \n"
echo 
"<td>".$row[5]."</td> \n"
echo 
"</tr> \n";

while (
$row mysql_fetch_row($resultado));
$borrado mysql_query ("DELETE FROM clientes WHERE id=$cliente") or die("No puedo ejecutar la instrucción SQL query");
if (
$borrado

 echo 
"<br><center><font face=Book Antiqua color=#0000FF size=2>El cliente ha sido eliminado.</font></center>";
}
}
?>
Alguien podria decirme en que stoy mal o la razon del error, aunque aclaro que me borra el registro pero me da el error.

Última edición por angel_toledo; 21/11/2006 a las 00:34
  #2 (permalink)  
Antiguo 21/11/2006, 01:12
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 8 meses
Puntos: 25
intenta con mysql_fetch_array no he visto bien el código pero intentalo platikas como te fue.

saludos
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 21/11/2006, 01:37
 
Fecha de Ingreso: agosto-2004
Mensajes: 58
Antigüedad: 20 años, 3 meses
Puntos: 0
La verdad no quiero mentir y komo dije en el post soy nuevo en esto del php y mysql y ste codigo en si no es mio, me estoy basando en codigo recogido de la web, asi que la verdad no se como cambiar a lo que me menciona, si pudiera no darme todos los pasos logicamente pero si ser un poko mas explicito x favor la verdad lo agradeceria infinitamente.
  #4 (permalink)  
Antiguo 21/11/2006, 01:44
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 10 meses
Puntos: 10
Hola
estas seguro q te llega la variable cliente?
prueba el siguiente codigo y nos mencionas si te llega o no la variable.
Código PHP:
$cliente=$_POST['cliente']; 
echo 
$cliente
si te llega entonces el error q tienes es de consulta.
añade mysql_error y sabras el error q tienes de sql
Código PHP:
$busqueda="SELECT * FROM clientes WHERE id ='$cliente'"
$resultado_b=mysql_query($busqueda) or die(mysql_error()); 
EDITADO:
puede ser q falte codigo, no encuentro la variable $resultado
Código PHP:
while ($row mysql_fetch_row($resultado)); 
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
  #5 (permalink)  
Antiguo 21/11/2006, 01:56
 
Fecha de Ingreso: agosto-2004
Mensajes: 58
Antigüedad: 20 años, 3 meses
Puntos: 0
Gracias a ambos ya lo he corregido, lo que pasaba que en unas partes puse la variable $resultado_b y mas adelante $resultado soalmente, me di cuenta por el comentario que hiciste sergi_climent, me imagino que era eso x q ahora ya no me marca error y borra el registro. Gracias de nuevo.
  #6 (permalink)  
Antiguo 21/11/2006, 02:02
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 18 años, 4 meses
Puntos: 5
Código PHP:
while ($row mysql_fetch_row($resultado)); 
cambialo por:

Código PHP:
while ($row mysql_fetch_row($resultado_b)); 
Lo que hay una cosa que no entiendo... muestras el resultado y lo borras?

Tambien podrias probar así, para mostrar cambia esto,

Código PHP:
if($row=mysql_fetch_row($resultado_b))  
{  
echo 
"<table border = '1'> \n"
echo 
"</tr> \n";  
do 

echo 
"<td>".$row[1]."</td> \n";  
echo 
"<td>".$row[3]."</td> \n";  
echo 
"<td>".$row[4]."</td> \n";  
echo 
"<td>".$row[5]."</td> \n";  
echo 
"</tr> \n"
}  
while (
$row mysql_fetch_row($resultado)); 
de esta forma:

Código PHP:
while ($row mysql_fetch_array($resultado_b))
{  
echo 
"<table border = '1'> \n"
echo 
"</tr> \n";  
echo 
"<td>".$row[1]."</td> \n";  
echo 
"<td>".$row[3]."</td> \n";  
echo 
"<td>".$row[4]."</td> \n";  
echo 
"<td>".$row[5]."</td> \n";  
echo 
"</tr> \n"

y para borrar tu tienes esto:

Código PHP:
while ($row mysql_fetch_row($resultado)); 
$borrado mysql_query ("DELETE FROM clientes WHERE id=$cliente") or die("No puedo ejecutar la instrucción SQL query"); 
if (
$borrado)  
{  
 echo 
"<br><center><font face=Book Antiqua color=#0000FF size=2>El cliente ha sido eliminado.</font></center>"


Cambialo por:

Código PHP:
while ($row mysql_fetch_array($resultado_b)); //o haz la consulta para resultado
if ($borrado mysql_query ("DELETE FROM clientes WHERE id=$cliente"))
{
 echo 
"<br><center><font face=Book Antiqua color=#0000FF size=2>El cliente ha sido eliminado.</font></center>"
else echo 
"No se ha podido borrar".mysql_error();

Prueba a ver que tal.
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 21:12.