Foros del Web » Programando para Internet » PHP »

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Estas en el tema de Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource en el foro de PHP en Foros del Web. Hola, buenos días. un buen amigo me está enseñando ha hacer esto. Pero me sale un error que no sé como solucionarlo Cita: Warning: mysql_fetch_array(): ...
  #1 (permalink)  
Antiguo 21/08/2003, 02:33
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Hola, buenos días.

un buen amigo me está enseñando ha hacer esto. Pero me sale un error que no sé como solucionarlo

Cita:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/filer1/web/cmblackriver/htdocs/index2.php on line 358

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /mnt/filer1/web/cmblackriver/htdocs/index2.php on line 365
y este es el script:

Código PHP:
<?
$user 
"cmblackriver";
$pass "*****";
$data "cm4anoti";
$host "pub-db.m2kcore.com";
function 
Conectarse($host,$user,$pass,$data)
 
{ if (!(
$link=mysql_connect($host,$user,$pass))
)
 { 
 echo 
"Error conectando a la base de datos."
 
exit(); 
} if (!
mysql_select_db($data,$link)) 

echo 
"Error seleccionando la base de datos.";
 exit();
  }
  }
$link Conectarse($host,$user,$pass,$data);

$sql "select * from pub-db.m2kcore.com";

$result mysql_query($sql,$link);
while (
$row mysql_fetch_array($result)) {
$Paginas count($row["mensajes"]) / 10;
echo 
"<b>Historial de noticias : </b>";
for(
$i 0$i $Paginas$i++) {
echo 
"<a href=index.php?paginado="$i 10 .">". ( $i ) ."</a> \n";
}
}
mysql_free_result($result);
mysql_close($link);

?>
lo que hce este script es que cuando en la base de datos encuentre más de 10 noticias salte a otra página., que haría una lista del tipo"1, [2] [3]...."

enga os espero

un saludo
  #2 (permalink)  
Antiguo 21/08/2003, 04:25
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
creo que es esto....

Código PHP:
pub-db.m2kcore.com 
con puntos no vale... usa raya inferior ______

Código PHP:
pub_db_m2kcore_com 

prueba a ver

dime si una de estas 2 lineas es la del error 358 y 365:
$sql = "select * from pub-db.m2kcore.com";
__________________
3w.valenciadjs.com
3w.laislatv.com
  #3 (permalink)  
Antiguo 21/08/2003, 06:35
BLACK RIVER
Invitado
 
Mensajes: n/a
Puntos:
perdón se me olvidó ponerlas líneas:

358= while ($row = mysql_fetch_array($result)) {
365= mysql_free_result($result);
  #4 (permalink)  
Antiguo 21/08/2003, 10:59
Avatar de Sir Kevin  
Fecha de Ingreso: julio-2003
Ubicación: Barcelona
Mensajes: 25
Antigüedad: 14 años, 4 meses
Puntos: 0
No se mucho de PHP pero creo que la SELECT esta mal:

select * from pub-db.m2kcore.com

deberia ser:

select * from nombre_tabla
  #5 (permalink)  
Antiguo 23/08/2003, 00:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm Veamos:

Código PHP:
$user "cmblackriver";
$pass "*****";
$data "cm4anoti";
$host "pub-db.m2kcore.com";

$link Conectarse($host,$user,$pass,$data);

$sql "select * from pub-db.m2kcore.com"
De esas líneas que he extraido se deduce:
1) .. lo que llamas $data debería llamarse Base de datos .. o $db que se usa mucho ..

2) .. Si usas el $link .. te convendría hacer un return $link; en tu función conectarse() .. Aunque el "link" creado por Mysql sea global .. cuidado con eso ..

3) .. en la sentencia $sql que estás empleando .. Debes indicar el nombre de una TABLA de tu Base de datos de nombre: pub-db.m2kcore.com .. ¿Que tabla es? .. pues ni idea .. pero algo como "noticias" .. "yoquese" o el nombre que le diste cuando la creastes ...

La "$data" sólo se usa para crear el "link" de conexión .. Osease, se selecciona una Base de datos (y se conecta a ella por su User/pass) .. y a partir de ahí (hasta que cambies de Base de datos si lo requieres) .. todas las consultas SQL que haces lo haces sobre -tablas- de esta base de datos .. Ya sea a una tabla donde puedes omitir el prefijo del nombre de la tabla .. o a varias donde debes indicarlo ..

SELECT * FROM tabla

SELECT tabla1.campo1,tabla2.campo1 FROM tabla1,tabla2

Te invito a conocer más sobre Mysql y su SQL en:
www.mysql.com
www.mysql-hispano.com

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 20:53.