Hola.
Intentando crear mi página web me ha surgido un problema
"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/Index.php on line 36"
el código fuente es este:
<html>
<head>
<link rel="stylesheet" type="text/css" href="estilos.css">
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="funciones.js"></script>
</head>
<body>
<div id="contenedor">
<div id="cabecera">
Portal Web
</div>
<div id="cuerpo">
<div id="lateral" class="degradado">
<center><h1>Continguts</h1></center>
<ul id="navy">
<center><li><a href="javascript:cargarseccion('nuevanoticia')" style="text-decoration:none">Nueva Noticia</a></li>
<li><a href="javascript:cargarseccion('login')" style="text-decoration:none">Entra</a></li>
<li><a href="#">Otro enlace</a>
<li><a href="#">Link chulo</a>
<li><a href="#">Más enlaces</a>
<li><a href="#">Otro último</a>
</center>
<br>
</ul>
</div>
<div id="otrolado"><center><p></p></center></div>
<? include("Conexion.php");
$seleccionar_noticias = mysql_query("SELECT * FROM noticias ORDER BY id DESC");
while($mostrar_noticias = mysql_fetch_array($seleccionar_noticias))
$query = mysql_query($qry_stmt) or die(mysql_error());
{ echo "<div id='principal'> <p>
<center>".$mostrar_noticias['Titulo']."</center><br>
<center>".$mostrar_noticias['Contenido']."</center><br>
<center>escrito por".$mostrar_noticias['Autor']."</center><br>
</p></div><br>";}
?>
</div>
<div id="pie">
© 2009 Alejandro Fernandez Tomas
</div>
</div>
</body>
</html>
Alguien sabe que puede pasar? Puede ser problema de que el archivo Conexion.php no conecta, uso Ubuntu así que quizás es problema de permisos o usuarios. Ayuda porfavor
La consulta en el PHP que subiste, está bien. No le encuentro error.
Pega el Conexion.php
-Puede que no hagas bien la conexión a MySQL.
-Usuario o contraseña equivocada? Te da error?
-La tabla existe?
<?php
$usuario ="root";
$clave ="++++";
$servidor ="localhost";
$database ="eero";
$conectar = mysql_connect($servidor,$usuario,$clave)or Die("No se ha podido conectar a la base de datos");
$elegirdb = mysql_select_db($database)or Die("El nombre de la base de datos es incorrecto");
?>
la clave no es esa. La tabla "noticias si que existe" solo que aun no hay contenido, pero aún así aunque no hubiera nada de contenido, no debería de aparecer el error.
Puede ser que sea que como que todos los archivos de la carpeta var/www tienen como a propietario: www-data , quizás la conexión falla porque se debería de hacer desde root. Pero esque no se que comando usar para cambiar de propietario al archivo conexion.php
Pues si fuese el archivo de conexion el que generara el error deberia mostrarte alguno de los dos mensajes que pusisite en caso de que no ubiese conexion, para eso los pusiste....
Porque no tratas de ejecutar el archivo conexion.php y miras si te aparecen los mensajes de error que pusiste...
Y bueno, no se para que tienes esta linea antes de abrir los corchetes del while
$query = mysql_query($qry_stmt) or die(mysql_error());
Saludos...
Citar"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/Index.php on line 36"
Eso quiere decir que cuando llamas a mysql_fetch_array, el elemento que le pasas como argumento ($seleccionar_noticia) no es un resultado valido de consulta SQL. Como dijo
rigoxls el problemas es esta linea:
$query = mysql_query($qry_stmt) or die(mysql_error());
Deberias ponerla antes del
while. Aunque no le veo mucho sentido...de donde sacas
$qry_stmt?
Proba asi:
$query = mysql_query($qry_stmt) or die(mysql_error());
while($mostrar_noticias = mysql_fetch_array($seleccionar_noticias)){
echo "<div id='principal'> <p>
<center>".$mostrar_noticias['Titulo']."</center><br>
<center>".$mostrar_noticias['Contenido']."</center><br>
<center>escrito por".$mostrar_noticias['Autor']."</center><br>
</p></div><br>";
}
aunque para ir depurando poco a poco, usa el codigo de arriva, pero Asi:
//$query = mysql_query($qry_stmt) or die(mysql_error());
Es decir, anulandola, para ver si esa linea cusa problemas..
Saludos
Solucionado: Ya está solucionado, era un error tonto, que me faltaba configurar bien la "id" en la tabla "noticias" de la base de datos. Ahora todo funciona perfectamente.