• Viernes 19 de Abril de 2024, 12:42

Autor Tema:  Error En Update  (Leído 1915 veces)

gokufast

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Error En Update
« en: Viernes 9 de Noviembre de 2007, 22:51 »
0
Este el cuadro del problema, tengo un formulario en el cual el socio puede cambiar su contraseña ingresando la que tenia previamente.

aca esta mi formulario:

<!--html--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>HTML </td></tr><tr><td id='CODE'><!--html1--><form method="GET"  action="cambiar_pass.php" name="cambiar_pass">
<tr>
   <th><strong><span class="style2">*</span> codigo Socio: </strong></th>
   <td><input type="text" name="nombre" size="20"><br><br></td>
</tr>
<tr>
   <th><strong><span class="style2">*</span> codigo actual: </strong></th>
   <td><input type="text" name="codigo_anterior" size="20"><br><br></td>
</tr>
<tr>
   <th>codigo nuevo: </strong></th>
   <td><input type="text" name="codigo_nuevo" size="20"><br><br></td>
</tr>
<tr>
   <th>repetir codigo anterior: </strong></th>
   <td><input type="text" name="codigo_nuevo2" size="20"></td>
</tr>
<br><br>
<tr>
   <td><input type="submit" name="enviar" value="Enviar"></td>
   <td><input type="reset"  name="cancelar" value="Borrar"></td>
</tr>
</form>
<!--html2--></td></tr></table><div class='postcolor'><!--html3-->

y me lleva al siguiente PHP (cambiar_pass.php):

<!--php1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>PHP </td></tr><tr><td id='CODE'><!--ephp1--><code>[color= #000000]
[color= #0000BB]<?php
       [/color][color= #007700]include([/color][color= #DD0000]"conex_2.php"[/color][color= #007700]);
       [/color][color= #0000BB]$link[/color][color= #007700]=[/color][color= #0000BB]Conectarse[/color][color= #007700]();
    [/color][color= #0000BB]$nombre[/color][color= #007700]=[/color][color= #0000BB]$_GET[/color][color= #007700][&[/color][color= #FF8000]#39;nombre'];
       [/color][color= #0000BB]$codigoSocio [/color][color= #007700]= [/color][color= #0000BB]$_GET[/color][color= #007700][&[/color][color= #FF8000]#39;codigo_anterior'];
    [/color][color= #0000BB]$codigoNuevo [/color][color= #007700]= [/color][color= #0000BB]$_GET[/color][color= #007700][&[/color][color= #FF8000]#39;codigo_nuevo'];
    [/color][color= #0000BB]$codigoRepeticion [/color][color= #007700]= [/color][color= #0000BB]$_GET[/color][color= #007700][&[/color][color= #FF8000]#39;codigo_nuevo2'];
[/color][color= #007700]if([/color][color= #0000BB]strcmp[/color][color= #007700]([/color][color= #0000BB]$codigoNuevo[/color][color= #007700],[/color][color= #0000BB]$codigoRepeticion[/color][color= #007700]) == [/color][color= #0000BB]0[/color][color= #007700])
{
          [/color][color= #0000BB]$result[/color][color= #007700]=[/color][color= #0000BB]mysql_query[/color][color= #007700]([/color][color= #DD0000]"
        UPDATE auth
        SET pass = '$codigoNuevo'
        WHERE name='$nombre'"[/color][color= #007700],[/color][color= #0000BB]$link[/color][color= #007700]);
}  
   [/color][color= #0000BB]mysql_free_result[/color][color= #007700]([/color][color= #0000BB]$result[/color][color= #007700]);
   [/color][color= #0000BB]mysql_close[/color][color= #007700]([/color][color= #0000BB]$link[/color][color= #007700]);
[/color][color= #0000BB]?>[/color]
[/color]
</code><!--php2--></td></tr></table><div class='postcolor'><!--ephp2-->

pero cada que la ejecuto me sale el siguiente error]Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in
C:\xampp\htdocs\San.Andres7\Alvaro\cambiar_pass.php on line 34
[/quote]

(mi linea 34 es:  mysql_free_result($result);)

Pero me cambia la contraseña!!!


espero que me puedan ayudar

Saludos
What Did One Snowman Say To The Other Snowman???

Do you smell carrots??

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: Error En Update
« Respuesta #1 en: Sábado 10 de Noviembre de 2007, 08:17 »
0
Lo que ocurre es que cuando haces un UPDATE, mysql_query no retorna un identificador de resultado sino que retorna simplemente TRUE o FALSE. Por lo tanto no puedes hacer un mysql_free_result después de un UPDATE porque no hay ningún resultado que liberar de memoria.

Salu2,
Avalon

gokufast

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Re: Error En Update
« Respuesta #2 en: Sábado 10 de Noviembre de 2007, 14:18 »
0
entonces podria ponerlo en un IF?
What Did One Snowman Say To The Other Snowman???

Do you smell carrots??

-DriverOp-

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
Re: Error En Update
« Respuesta #3 en: Sábado 10 de Noviembre de 2007, 16:15 »
0
Simplemente no uses mysql_free_result() ya que no se aplica a sentencias UPDATE.

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Error En Update
« Respuesta #4 en: Sábado 10 de Noviembre de 2007, 23:33 »
0
Exactamente, lo que dicen Avalon y -DriverOp-.

Ademas de eso tambien puedes usar @ para evitar que alguna funcion devuelva error


ejemplo:

Código: Text
  1. @mysql_free_result(&#036;result);
  2.  

Aunque como acertadamente te mencionan no es necesario en este caso



Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

gokufast

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Re: Error En Update
« Respuesta #5 en: Lunes 12 de Noviembre de 2007, 14:36 »
0
muchisimas gracias a todos, eso de que el UPDATE solo retorna TRUE o FALSE, la verdad no lo sabia, sera porque nunca le puse mysql_free_result a mis UPDATES :P ??.

ya puse le puse @ a mi funcion y ya no me dio error.

una vez mas gracias  :lol:
What Did One Snowman Say To The Other Snowman???

Do you smell carrots??