Foros del Web » Programando para Internet » PHP »

Error con mysql_fetch_array

Estas en el tema de Error con mysql_fetch_array en el foro de PHP en Foros del Web. Desde este codigo envio la informacion al archivo proceso.php,en donde ejecuto la consulta sql Código PHP: <form name='formu' method='POST' action='proceso.php'> <?php mysql_connect ( "localhost" , "root" , "" ...
  #1 (permalink)  
Antiguo 04/09/2006, 17:23
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 11 años, 9 meses
Puntos: 3
Error con mysql_fetch_array

Desde este codigo envio la informacion al archivo proceso.php,en donde ejecuto la consulta sql
Código PHP:
<form name='formu' method='POST' action='proceso.php'>


<?php
mysql_connect
("localhost","root","");
$sSQL="select mod_cod as Codigo,mod_titulo as Titulo

       from modelamiento"
;

$result=mysql_db_query("base",$sSQL);

echo 
"<td class='estilocelda'>Titulo:&nbsp;&nbsp;</td>";
echo 
"<td><select name='codigo'>";
echo 
"<option value='seleccionar'>seleccionar</option>";
while (
$row=mysql_fetch_array($result))
{
echo 
"<option value=".$row['Codigo'].">"." ".$row['Titulo']."</option>";
}
mysql_free_result($result);
echo 
"</select>";
mysql_close();

echo
"
<input type='submit' name='Accion' value='Enviar'>
</form>
</html>"
;
este es el archivo proceso.php y en el div,deberia mostrarme el resultado de la consulta,pero me entrega un warning,como podria solucionar ese error
gracias
el campo mod_tema es de tipo text,y utilizo mysql
Código PHP:
<?php
 $accion 
$_POST['Accion'];
    if(
$accion=="Enviar")
    {

    
$codigo $_POST['codigo'];

//conexion a la base de datos
mysql_connect("localhost","root","");

    
$resultmysql_db_query("base",
        
"select mod_cod as Codigo,mod_tema as Tema

       from modelamiento

       where mod_codigo='$codigo'
       "
);

       
$row =mysql_fetch_array($result);
       
$codigo            =   $row['Codigo'];
       
$tema         =   $row['Tema'];
       

echo 
"<div id='principal'>";
echo 
$tema;
echo 
"</div>";

         
mysql_Close();//se cierra la conexion
        
}
   
?>
y me entrega este warning y no me muestra el resultado de la consulta
Código PHP:
Warningmysql_fetch_array(): 
supplied argument is not a valid MySQL 
result resource in
 C
:wampwwwmisitio
modelamientoproceso
.php on line 25

esta es la linea 25
 $row 
=mysql_fetch_array($result); 
  #2 (permalink)  
Antiguo 04/09/2006, 17:33
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.653
Antigüedad: 12 años, 5 meses
Puntos: 88
tu problema esta aqui
Código PHP:
$result=mysql_db_query("base",$sSQL); 
el motivo es que ahi se pone primero la variable de la consulta y despues el link de conexion.

prueba con esto
Código PHP:
$conexion=mysql_connect("localhost","root","");
$sSQL="select mod_cod as Codigo,mod_titulo as Titulo from modelamiento";
$result=mysql_db_query($sSQL,$conexion); 
algo similar para la otra página.
espero te sea de utilidad.
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 04/09/2006, 17:45
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 11 años, 9 meses
Puntos: 3
realize lo que me dices,pero me entrega el mismo warning,segui los pasos que necesita la funcion mysql_db_query(string database, string query, int link_identifier);.
primero el nombre de la base de datos,luego la consulta,y finalmente la conexion.

que mas puedo hacer?

Código PHP:
<?php
$accion 
$_POST['Accion'];
    if(
$accion=="Enviar")
    {

    
$codigo $_POST['codigo'];

//conexion a la base de datos
$conexion=mysql_connect("localhost","root","");

$sSQL="select mod_cod as Codigo,mod_titulo as Titulo
from modelamiento
 where mod_codigo='$codigo'"
;

$result=mysql_db_query("base",$sSQL,$conexion);


       
$row =mysql_fetch_array($result);
       
$codigo            =   $row['Codigo'];
       
$tema              =   $row['Tema'];


echo 
"<div id='principal'>";
echo 
$tema;
echo 
"</div>";

         
mysql_Close();//se cierra la conexion
        
}
   
?>
  #4 (permalink)  
Antiguo 04/09/2006, 18:05
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
Bueno, segun la pagina oficial de php recomienda no usar esta opcion ya que es obsoleta ... es mejor usar el mysql_select_db y mysql_query

Cual es el problema que estas teniendo ?
no estas indicando cual es la base de datos a usar ... o seguramente debe ser "base"

ahora tu codigo quedaria asi ..

Código PHP:
 <?php
 $accion 
$_POST['Accion'];
    if(
$accion=="Enviar")
    {

    
$codigo $_POST['codigo'];

//conexion a la base de datos
$CN mysql_connect("localhost","root","");
mysql_select_db("base",$CN);

$sql "select mod_cod as Codigo,mod_tema as Tema from modelamiento where mod_codigo='$codigo'";
$result mysql_query($sql,$CN);
$row =mysql_fetch_array($result);
       
$codigo            =   $row['Codigo'];
       
$tema         =   $row['Tema'];
       

echo 
"<div id='principal'>";
echo 
$tema;
echo 
"</div>";

         
mysql_Close();//se cierra la conexion
        
}
   
?>
asi deberia funcionar ... saludos !
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #5 (permalink)  
Antiguo 04/09/2006, 18:18
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.653
Antigüedad: 12 años, 5 meses
Puntos: 88
estoy de acuerdo turco_7 pero creo(ojo "creo") que seguirá arrojando el error si lo cambiaste solamente en "proceso.php" el problema radica primero en "modelamientoproceso.php" y despues en "proceso.php"(si no haces los cambios).

si no queda sigue preguntado, y seguiremos tratando.
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #6 (permalink)  
Antiguo 04/09/2006, 18:50
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 11 años, 9 meses
Puntos: 3
gracias por su ayuda,realize el cambio en los dos archivos y me sigue saliendo el warning,que mas puede ser?
gracias

Código PHP:
<?php

echo "<html>
<head>
<title>Modelamiento</title>
<LINK REL='stylesheet' TYPE='text/css' HREF='/misitio/estilo.css'>
</head>
<body>
</body>


<div id='principal'>"
;

?>
<form name='formu' method='POST' action='proceso.php'>


<?php

$CN 
mysql_connect("localhost","root","");
mysql_select_db("base",$CN);

mysql_connect("localhost","root","");
$sql="select mod_cod as Codigo,mod_titulo as Titulo

       from modelamiento"
;

$result mysql_query($sql,$CN);


echo 
"<td class='estilocelda'>Titulo:&nbsp;&nbsp;</td>";
echo 
"<td><select name='codigo'>";
echo 
"<option value='seleccionar'>seleccionar</option>";
while (
$row=mysql_fetch_array($result))
{
echo 
"<option value=".$row['Codigo'].">"." ".$row['Titulo']."</option>";
}
mysql_free_result($result);
echo 
"</select>";
mysql_close();

echo
"
<input type='submit' name='Accion' value='Enviar'>
</form>

</html>"
;
?>
archivo proceso.php
Código PHP:
<html>
<head>
<LINK REL='stylesheet' TYPE='text/css' HREF='/misitio/estilo.css'>
<title>proceso</title>
</head>

<?php
$accion 
$_POST['Accion'];
    if(
$accion=="Enviar")
    {

    
$codigo $_POST['codigo'];

//conexion a la base de datos
$CN mysql_connect("localhost","root","");
mysql_select_db("base",$CN);

$sql "select mod_cod as Codigo,
mod_tema as Tema
from modelamiento
where mod_codigo='$codigo'"
;
$result mysql_query($sql,$CN);

$row =mysql_fetch_array($result);
       
$codigo            =   $row['Codigo'];
       
$tema         =   $row['Tema'];


echo 
"<div id='principal'>";
echo 
$tema;
echo 
"</div>";

         
mysql_Close();//se cierra la conexion
        
}



   
?>

      </table>
      </body>
      </html>
  #7 (permalink)  
Antiguo 04/09/2006, 18:57
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.653
Antigüedad: 12 años, 5 meses
Puntos: 88
pregunta, ¿tu base de datos se llama "base"?
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #8 (permalink)  
Antiguo 04/09/2006, 19:00
 
Fecha de Ingreso: octubre-2003
Ubicación: Cerca de una wifi o 3G
Mensajes: 328
Antigüedad: 14 años, 1 mes
Puntos: 4
tienes en el primer archivo un mysql_connect("localhost","root",""); de mas


y en el segundo un error en $sql = "select mod_cod as Codigo,
mod_tema as Tema
from modelamiento
where mod_codigo='$codigo'"; estas llamando a mod_codigo en vez de mod_cod

creo que eso puede ser?
  #9 (permalink)  
Antiguo 04/09/2006, 23:22
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 11 años, 9 meses
Puntos: 3
muchas gracias por la ayuda,el error lo tenia en el campo mod_cod y en la parte que habia declarado dos veces mysql_connect
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 00:58.