Foros del Web » Programando para Internet » PHP »

problema de conexion.

Estas en el tema de problema de conexion. en el foro de PHP en Foros del Web. Buena colegas, soy nuevo en esto asi que seguramente es una peuñes pero para mi es algo que me trae loco. El asunto es que ...
  #1 (permalink)  
Antiguo 29/04/2008, 11:15
 
Fecha de Ingreso: abril-2008
Mensajes: 20
Antigüedad: 16 años
Puntos: 0
problema de conexion.

Buena colegas, soy nuevo en esto asi que seguramente es una peuñes pero para mi es algo que me trae loco.

El asunto es que descargue el codigo fuente de un foro , lo subi a mi servidor, entro al home seria, pero cuando ingreso al foro digamos ahi me tira los errores:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /www/sites/1/iespana.es/a/f/afocec1/site/foro.php on line 4

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/sites/1/iespana.es/a/f/afocec1/site/foro.php on line 5
No hay mensajes en este foro
Escribir mensaje | Volver


El contenido del fichero foro.php es el siguiente:

Código PHP:
<table border="1" cellpadding="2" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
<? 
$sql 
"SELECT * FROM foro WHERE foro = '".$foro."' ORDER BY id DESC";
$res=mysql_query($sql,$db);
while (
$row=mysql_fetch_array($res)){
$rows 1;
?><tr>
    <td width="82%" colspan="2"><font face="Verdana" size="2"><b><? echo $row["autor"]; ?></b><br />
    <? echo htmlentities($row["mensaje"]); ?><br />
    </font><b><font face="Verdana" size="2">
    <a href="?foro=<? echo $row["id"]; ?>"><?
    
echo mysql_result(mysql_query("SELECT COUNT(id) FROM foro WHERE foro = '".$row["id"]."'",$db),0);
?> respuestas</a></font></b></td>
  </tr><?
}
if(
$rows == ''){ ?><tr>
    <td width="82%" colspan="2"><font face="Verdana" size="2">No hay mensajes en este foro</font></td>
  </tr><?
}
?><tr>
    <td width="82%" colspan="2"><font face="Verdana" size="2"><b><a href="?escribir=<?
echo $foro;
?>">Escribir mensaje</a><?
$arriba 
= @mysql_result(mysql_query("SELECT foro FROM foro WHERE id = '".$foro."'",$db),0);
if(
$arriba != '')echo ' | <a href="?foro='.$arriba.'">Volver</a>';
else echo 
' | <a href="?foro=">Volver</a>';
?></font></b></td>
  </tr>
</table>
Yo creo que el problema puede estar en la base de datos pero no estoy seguro:

Los campos que cree son: (autor) formato text,(mensaje) formato text , (foro) formato text y (id) formato int y autoincrementable.

Desde ya gracias por su tiempo y por su ayuda...
  #2 (permalink)  
Antiguo 29/04/2008, 11:18
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 20 años, 10 meses
Puntos: 9
Re: problema de conexion.

Es problema en la coneccion, especificaste nombre de usuario y contraseña en el respectivo archivo de configuracion?
__________________
eft0's stuff! - http://estebanfernandez.net
  #3 (permalink)  
Antiguo 29/04/2008, 11:18
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: problema de conexion.

Como haces la coneccion a la base de datos? pon el codigo, de ahi sale el error. Al no tener un link valido a tu BD, no se producen resultados en tu consulta.
  #4 (permalink)  
Antiguo 29/04/2008, 11:23
Avatar de chumisiado  
Fecha de Ingreso: enero-2006
Ubicación: Chilito
Mensajes: 69
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: problema de conexion.

A mi parece tiene bien hecha la conexion a la base de datos , lo que puedes hacer es un echo de la consulta que estas enviando, copiarla y pegarla directamente en la base de datos para ver si te da algun resultado o (lo mas probable un error de alguna columna o algo asi), ya que, el error que te aparece no es de conexion si no que te eta avisando que lo que le pasas al fetch no es un arreglo valido ... lo otro que puede hacer es un print_r($res), para ver que te esta rescatando la consulta...

Saludos
  #5 (permalink)  
Antiguo 29/04/2008, 11:29
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: problema de conexion.

Pero dice que MySQL-Link no es un recurso valido o sea, en la parte que pone
Código PHP:
$res=mysql_query($sql,$db
, $db es el link y no seria un recurso valido en este caso y tendrias que corregirlo. Bueno, con intentarlo no se pierde nada
  #6 (permalink)  
Antiguo 29/04/2008, 11:45
 
Fecha de Ingreso: abril-2008
Mensajes: 20
Antigüedad: 16 años
Puntos: 0
Re: problema de conexion.

buenas muchachos, gracias por responder, el codigo que uso para conectar es:
Código PHP:
<?php

/* Conexción con la Base de Datos MySQL 5*/

$bd_host         "nombreserver SQL";
$bd_usuario     "nombreuser";
$bd_password     "miclave";
$bd_base         "nombrebasedatos";

$con mysql_connect($bd_host$bd_usuario$bd_password);
mysql_select_db($bd_base$con);
?>
Gracias nuevamente
  #7 (permalink)  
Antiguo 29/04/2008, 12:04
 
Fecha de Ingreso: enero-2008
Mensajes: 163
Antigüedad: 16 años, 3 meses
Puntos: 2
Re: problema de conexion.

bueno el problema es que tienes que llamar a la variable $con no $db por ejemplo pones
mysql_query($sql,$db); debes de poner mysql_query($sql,$con);
  #8 (permalink)  
Antiguo 29/04/2008, 23:21
 
Fecha de Ingreso: abril-2008
Mensajes: 20
Antigüedad: 16 años
Puntos: 0
Re: problema de conexion.

Hola muchachos!!, gracias por responder...

mira, modifique el problema de $db, ahora me larga otro error, es en la linea 5 cuando intento ejecutar el archivo foro.php
Código PHP:
<table border="1" cellpadding="2" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
<? 
$sql 
"SELECT * FROM foro WHERE foro = '".$foro."' ORDER BY id DESC";
$res=mysql_query($sql,$db);
while (
$row=mysql_fetch_array($res)){
$rows 1;
?><tr>
    <td width="82%" colspan="2"><font face="Verdana" size="2"><b><? echo $row["autor"]; ?></b><br />
    <? echo htmlentities($row["mensaje"]); ?><br />
    </font><b><font face="Verdana" size="2">
    <a href="?foro=<? echo $row["id"]; ?>"><?
    
echo mysql_result(mysql_query("SELECT COUNT(id) FROM foro WHERE foro = '".$row["id"]."'",$db),0);
?> respuestas</a></font></b></td>
  </tr><?
}
if(
$rows == ''){ ?><tr>
    <td width="82%" colspan="2"><font face="Verdana" size="2">No hay mensajes en este foro</font></td>
  </tr><?
}
?><tr>
    <td width="82%" colspan="2"><font face="Verdana" size="2"><b><a href="?escribir=<?
echo $foro;
?>">Escribir mensaje</a><?
$arriba 
= @mysql_result(mysql_query("SELECT foro FROM foro WHERE id = '".$foro."'",$db),0);
if(
$arriba != '')echo ' | <a href="?foro='.$arriba.'">Volver</a>';
else echo 
' | <a href="?foro=">Volver</a>';
?></font></b></td>
  </tr>
</table>
Gracias muchachos y sepan disculpar pero todavia no domino mucho este codigo todavia...
  #9 (permalink)  
Antiguo 30/04/2008, 09:15
Avatar de chumisiado  
Fecha de Ingreso: enero-2006
Ubicación: Chilito
Mensajes: 69
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: problema de conexion.

Incisto en que lo mejor es hacer uno echo de la consulta y ejecutarla directamente en el servidor ...para corroborar que la consulta esta buena y luego irse a la conexion.... recuerda que debes crear el usuario en la base de datos y asignarle permisos para la base de datos
  #10 (permalink)  
Antiguo 30/04/2008, 16:52
 
Fecha de Ingreso: abril-2008
Mensajes: 20
Antigüedad: 16 años
Puntos: 0
Re: problema de conexion.

hola chumisiado, gracias por responder.

Mira vos sabes que no entiendo donde tengo que hacer el echo, por otro lado, el proveedor ya me asigno el user, clave, etc de la base de datos, todo esto esta descripto en el archivo conexiones.php:
  #11 (permalink)  
Antiguo 30/04/2008, 18:05
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: problema de conexion.

Verifica que no tenga errores tu consulta:

Código PHP:
<table border="1" cellpadding="2" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
<? 
$sql 
"SELECT * FROM foro WHERE foro = '".$foro."' ORDER BY id DESC";
$res mysql_query($sql$con) or die( mysql_error() );
while (
$row=mysql_fetch_array($res)){
$rows 1;
?><tr>
    <td width="82%" colspan="2"><font face="Verdana" size="2"><b><? echo $row["autor"]; ?></b><br />
    <? echo htmlentities($row["mensaje"]); ?><br />
    </font><b><font face="Verdana" size="2">
    <a href="?foro=<? echo $row["id"]; ?>"><?
    
echo mysql_result(mysql_query("SELECT COUNT(id) FROM foro WHERE foro = '".$row["id"]."'",$con),0);
?> respuestas</a></font></b></td>
  </tr><?
}
if(
$rows == ''){ ?><tr>
    <td width="82%" colspan="2"><font face="Verdana" size="2">No hay mensajes en este foro</font></td>
  </tr><?
}
?><tr>
    <td width="82%" colspan="2"><font face="Verdana" size="2"><b><a href="?escribir=<?
echo $foro;
?>">Escribir mensaje</a><?
$arriba 
= @mysql_result(mysql_query("SELECT foro FROM foro WHERE id = '".$foro."'",$con),0);
if(
$arriba != '')echo ' | <a href="?foro='.$arriba.'">Volver</a>';
else echo 
' | <a href="?foro=">Volver</a>';
?></font></b></td>
  </tr>
</table>
Saludos.
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 03:58.