Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: vnak en 10 Julio 2009, 17:00 pm



Título: error con MySQL
Publicado por: vnak en 10 Julio 2009, 17:00 pm
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:

Código:
<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


Título: Re: error con MySQL
Publicado por: LuffyFF en 10 Julio 2009, 18:29 pm
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?


Título: Re: error con MySQL
Publicado por: vnak en 10 Julio 2009, 19:38 pm
Código:
<?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


Título: Re: error con MySQL
Publicado por: rigoxls en 11 Julio 2009, 00:01 am
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
Código:
$query = mysql_query($qry_stmt) or die(mysql_error());

Saludos...


Título: Re: error con MySQL
Publicado por: [u]nsigned en 11 Julio 2009, 04:43 am
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:

Código
  1. $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:
Código
  1. $query = mysql_query($qry_stmt) or die(mysql_error());
  2. while($mostrar_noticias = mysql_fetch_array($seleccionar_noticias)){
  3.     echo "<div id='principal'> <p>
  4.     <center>".$mostrar_noticias['Titulo']."</center><br>
  5.     <center>".$mostrar_noticias['Contenido']."</center><br>
  6.     <center>escrito por".$mostrar_noticias['Autor']."</center><br>
  7.     </p></div><br>";
  8. }

aunque para ir depurando poco a poco, usa el codigo de arriva, pero Asi:
Código
  1. //$query = mysql_query($qry_stmt) or die(mysql_error());
Es decir, anulandola, para ver si esa linea cusa problemas..

Saludos


Título: Re: error con MySQL
Publicado por: vnak en 11 Julio 2009, 18:34 pm
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.