Foros del Web » Programando para Internet » PHP »

Problemas para actualizar

Estas en el tema de Problemas para actualizar en el foro de PHP en Foros del Web. Buenas Porque al ejecutar mi codigo me sale lo aiguiente: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\licay\forModPlanPro.php on line ...
  #1 (permalink)  
Antiguo 18/08/2013, 17:18
 
Fecha de Ingreso: julio-2012
Mensajes: 11
Antigüedad: 11 años, 9 meses
Puntos: 0
Información Problemas para actualizar

Buenas

Porque al ejecutar mi codigo me sale lo aiguiente:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\licay\forModPlanPro.php on line 33

Estos son los script

Primero el de consultar

Código PHP:
Ver original
  1. <?php
  2.     include("conexion.php");
  3.     $cod_pla=$_POST['cod_pla'];
  4.     mysql_select_db("cayaurima") or die("Error con la base de datos"). mysql_error ();
  5.     $consulta="SELECT * FROM plantel_pro where cod_pla='$cod_pla'";
  6.     $resultado=mysql_query($consulta);
  7.     while($fila=mysql_fetch_array($resultado)){
  8.     ?>
  9.   <tr>
  10.     <td><div align="center"><?php echo $fila['cod_pla'];?></div></td>
  11.     <td><div align="center"><?php echo $fila['nombre'];?></div></td>
  12.     <td><div align="center"><a href="forModPlanPro.php?cod_pla=<?php echo $fila['cod_pla'];?>">Actualizar</a></div></td>
  13.     <td><div align="center"><a href="elimPlanProConf.php?cod_pla=<?php echo $fila['cod_pla'];?>">Retirar</a></div></td>
  14.   </tr>
  15.    <? } ?>
  16.  
  17.    
  18. </table>

Despues el de el formulario para consultar los registros
Código HTML:
Ver original
  1. <form id="form1" name="form1" method="post" action="consulPlanPro.php">
  2.   <p>&nbsp;</p>
  3.   <table width="390" border="1" align="center">
  4.     <tr>
  5.       <th width="186" scope="col">CODIGO DEL PLANTEL </th>
  6.       <th width="188" scope="col"><label>
  7.         <input name="cod_pla" type="text" id="cod_pla" />
  8.       </label></th>
  9.     </tr>
  10.     <tr>
  11.       <td colspan="2"><div align="center">
  12.         <label>
  13.           <input type="submit" name="Submit" value="Consultar" />
  14.           </label>
  15.       </div></td>
  16.     </tr>
  17.   </table>
  18.   <p>&nbsp;</p>
  19.   <p>&nbsp;</p>
  20. </form>
Desde este mismo script hay un enlace para llamar el formulario desde donde hace la actulización



Y luego el formulario para hacer la actualización de los registros

Código PHP:
Ver original
  1. <?php
  2.  
  3.     include("conexion.php");
  4.     $cod_pla=$_REQUEST['cod_pla'];
  5.      mysql_select_db("cayaurima")or die("Base de datos no existente");
  6.     $consulta="SELECT * FROM plantel_pro where cod_pla=". $_REQUEST['cod_pla'];
  7.     $resultado=mysql_query($consulta);
  8.     $fila=mysql_fetch_array($resultado);
  9.     error_reporting(-1);
  10.     ?>
  11. </p>
  12. <p align="center">&nbsp;</p>
  13.  
  14. <form id="form1" name="form1" method="post" action="modPlaPro.php?cod_pla=<?php echo $_REQUEST['cod_pla'];?>">
  15.   <table width="507" border="1" align="center">
  16.     <tr>
  17.       <th width="218" scope="col">CODIGO DEL PLANTEL </th>
  18.       <th width="273" scope="col"><label>
  19.         <input name="cod_pla" type="text" id="cod_pla" value="<?php echo $fila['cod_pla'];?>" size="40" />
  20.       </label></th>
  21.     </tr>
  22.     <tr>
  23.       <td><div align="center"><strong>NOMBRE DEL PLANTEL </strong></div>        <div align="center">
  24.           <label></label>
  25. </div></td>
  26.       <td><div align="center">
  27.         <label>
  28.         <input name="nombre" type="text" id="nombre" value="<?php echo $fila['nombre'];?>" size="40" />
  29.         </label>
  30. </div></td>
  31.     </tr>
  32.     <tr>
  33.       <td colspan="2"><div align="center">
  34.         <label>
  35.         <input type="submit" name="Submit" value="Actualizar" />
  36.         </label>
  37. </div></td>
  38.     </tr>
  39.   </table>
  40.  
  41. <p align="center"></p>
  42.   <p>&nbsp;</p>
  43. </form>

Soy nuevo en esto y estoy muy enredado si alguien me ayuda se lo agradecere

Última edición por Triby; 19/08/2013 a las 02:08 Razón: Código en highlight
  #2 (permalink)  
Antiguo 19/08/2013, 08:42
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Respuesta: Problemas para actulaizar

No estoy seguro, pero prueba, en el ultimo formulario, a cambiar:
Código PHP:
$consulta="SELECT * FROM plantel_pro where cod_pla="$_REQUEST['cod_pla']; 
por
Código PHP:
$consulta="SELECT * FROM plantel_pro where cod_pla='"$_REQUEST['cod_pla']."'"
Sino, pon el codigo de 'forModPlanPro.php', a ver si se encuentra , a priori, es lo que veo que puede dar error.

Un saludo.
SYLA.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 19/08/2013, 17:03
 
Fecha de Ingreso: julio-2012
Mensajes: 11
Antigüedad: 11 años, 9 meses
Puntos: 0
Información Respuesta: Problemas para actualizar

Buenas

SYLA gracias por tu ayuda, hice lo que me recomendaste pero me sigue dando el mismo error en realidad no entiendo lo que pasa lo he hecho antes y me ha salido perfectol.
  #4 (permalink)  
Antiguo 20/08/2013, 01:01
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Problemas para actulaizar

en mysql_query() te falta un parámetro
__________________
Ayúdame a hacerlo por mi mismo.
  #5 (permalink)  
Antiguo 20/08/2013, 05:58
 
Fecha de Ingreso: julio-2012
Mensajes: 11
Antigüedad: 11 años, 9 meses
Puntos: 0
Información Respuesta: Problemas para actualizar

Buen dia

Guardamicorreo no entiendo lo que me quieres decir con que me falta un parametro
busque en el enlace que me dejastes pero no entendí nada, si me puedes explicar mejor por favor
  #6 (permalink)  
Antiguo 20/08/2013, 07:41
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Problemas para actulaizar

es sencillo.

para empezar la extensión mysql está obsoleta. pero aún así vamos a trabajar con ella para solucionar este problema.

para conectar a una base de datos puedes hacerlo de varias maneras.

el primer paso es establecer las credenciales de conexión.
las credenciales son la ip o nombre del servidor, el nombre de usuario y la contraseña.

las credenciales se pueden establecer en mysql_select_db("nombre de la base de datos", "credenciales")
o en mysql_query("string con la consulta","credenciales").

en el código que nos has mostrado no veo que tengas las credenciales como segundo parámetro de mysql_query, así que suponiendo que anterior al query tengas un mysql_select_db("nombre de la bd") y no tengas un mysql_connect te falta entonces el segundo parámetro del query.

si no es así, entonces es que cierras la conexión a la base de datos antes de llegar a esa parte del código por lo que la conexión te da error.

no puedo seguir jugando a adivinar. muestra más de tu código si quieres más ayuda.

saludos.
__________________
Ayúdame a hacerlo por mi mismo.
  #7 (permalink)  
Antiguo 20/08/2013, 09:42
 
Fecha de Ingreso: julio-2012
Mensajes: 11
Antigüedad: 11 años, 9 meses
Puntos: 0
Información Respuesta: Problemas para actulaizar

Hice lo que me indicaste:

$resultado=mysql_query($consulta,conexion);

Y ahora me sale esto:

Warning: mysql_query() expects parameter 2 to be resource, string given in C:\AppServ\www\licay\forModPlanPro.php on line 32

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\licay\forModPlanPro.php on line 33

El script que me faltaba es este:

<?php
include("conexion.php");
mysql_select_db("cayaurima")or die("Error con la base de datos");
$tr_sql="UPDATE plantel_pro set cod_pla='".$_POST["cod_pla"]."',nombre='".$_POST["nombre"]."'where cod_pla=".$_POST["cod_pla"]."";
mysql_query($tr_sql);
?>
  #8 (permalink)  
Antiguo 20/08/2013, 11:46
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Problemas para actulaizar

Cita:
Iniciado por fenriques123 Ver Mensaje
Hice lo que me indicaste:

$resultado=mysql_query($consulta,conexion);

Y ahora me sale esto:

Warning: mysql_query() expects parameter 2 to be resource, string given in C:\AppServ\www\licay\forModPlanPro.php on line 32

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\licay\forModPlanPro.php on line 33

El script que me faltaba es este:

<?php
include("conexion.php");
mysql_select_db("cayaurima")or die("Error con la base de datos");
$tr_sql="UPDATE plantel_pro set cod_pla='".$_POST["cod_pla"]."',nombre='".$_POST["nombre"]."'where cod_pla=".$_POST["cod_pla"]."";
mysql_query($tr_sql);
?>
exactamente qué es lo que has hecho?
para mostrarmelo
pon aquí tu documento forModPlanPro.php cambiando los datos comprometidos de la credencial tales como ip/nombre del servidor, usuario y contraseña, los cambias por eso mismo ip/nombre del servidor, usuario y contraseña e indícame las líneas 32 y 33
__________________
Ayúdame a hacerlo por mi mismo.
  #9 (permalink)  
Antiguo 20/08/2013, 13:39
 
Fecha de Ingreso: julio-2012
Mensajes: 11
Antigüedad: 11 años, 9 meses
Puntos: 0
Información Respuesta: Problemas para actulaizar

Esre es el archivo forModPlanPro.php

<p>
<?php

include("conexion.php");
$cod_pla=$_REQUEST['cod_pla'];
mysql_select_db("cayaurima")or die("Base de datos no existente");
$consulta="SELECT * FROM plantel_pro where cod_pla=". $_REQUEST['cod_pla'];
$resultado=mysql_query($consulta,conexion);
$fila=mysql_fetch_array($resultado)

?>
</p>
<p align="center">&nbsp;</p>

<form id="form1" name="form1" method="post" action="modPlaPro.php?cod_pla=<?php echo $_REQUEST['cod_pla'];?>">
<table width="507" border="1" align="center">
<tr>
<th width="218" scope="col">CODIGO DEL PLANTEL </th>
<th width="273" scope="col"><label>
<input name="cod_pla" type="text" id="cod_pla" value="<?php echo $fila['cod_pla'];?>" size="40" />
</label></th>
</tr>
<tr>
<td><div align="center"><strong>NOMBRE DEL PLANTEL </strong></div> <div align="center">
<label></label>
</div></td>
<td><div align="center">
<label>
<input name="nombre" type="text" id="nombre" value="<?php echo $fila['nombre'];?>" size="40" />
</label>
</div></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<label>
<input type="submit" name="Submit" value="Actualizar" />
</label>
</div></td>
</tr>
</table>

<p align="center"></p>
<p>&nbsp;</p>
</form>

<p>&nbsp;</p>


y en la linea 32 tenia esto $resultado=mysql_query($consulta);

me daba este error Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\licay\forModPlanPro.php on line 33


y se lo cambie por esto $resultado=mysql_query($consulta,conexion);

y ahora me salen estos dos errores

Warning: mysql_query() expects parameter 2 to be resource, string given in C:\AppServ\www\licay\forModPlanPro.php on line 32

mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\licay\forModPlanPro.php on line 33

el de la inea 33 ya me salía antes de hacerle el cambio.
  #10 (permalink)  
Antiguo 20/08/2013, 14:49
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Problemas para actualizar

conexion no es un estring o una variable. no tienes nada que reconozca php como ejecutable.

vamos a hacer la consulta de la siguiente manera

Código PHP:
Ver original
  1. //primero las credenciales
  2. $Conexion = mysql_connect ("aquí tu servidor", "aquí el usuario para conectarte a la bd", "aquí la contraseña");
  3.  
  4. //ahora seleccionamos la base de datos con las credenciales
  5. $BaseDatos = mysql_select_db("tu base de datos", $Conexion);
  6.  
  7. //ahora consultamos, como segundo argumento podríamos utilizar las credenciales, pero como las utilizamos en el select_db ya no es necesario
  8.  
  9. //por lo que selec_db podría tener un solo argumento y poner las credenciales como segundo argumento en el query
  10. $Resultado = mysql_query ("aquí tu consulta select * from tabla");
  11.  
  12. //finalmente imprime los resultados

a ver si así te devuelve fallos
__________________
Ayúdame a hacerlo por mi mismo.
  #11 (permalink)  
Antiguo 20/08/2013, 15:17
 
Fecha de Ingreso: enero-2013
Ubicación: Distrito Federal
Mensajes: 88
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: Problemas para actualizar

Porque no imprimes tu query en un echo para ver que te esta validando? Puede que no te este tomando bien las variables

Etiquetas: formulario, mysql, registro, select, sql
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 11:05.