Ayuda con mysql_fetch_array

Iniciado por royerphpmysql, 16 Noviembre 2010, 21:44 PM

0 Miembros y 1 Visitante están viendo este tema.

royerphpmysql

estimados todos.
el presente es para saludarles y compartirles un error que no he podido sacar.

me sucedio hace 3 dias y se arreglo poniendo el query en minusculas ejemplo.

lo tenia asi.

Código (php) [Seleccionar]

SELECT * from CONSULTAS;

se arreglo poniendole.

SELECT * from consultas;



mi error continua y es este.

Código (html4strict) [Seleccionar]

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/sanfranc/public_html/foro/listahijos.php on line 26

--------------------------------------------------------------------------------




les anexo el fragmento del codigo.

Código (php) [Seleccionar]

<html>
<head>
       <title>Foro </title>
</head>
<body>
<body bgcolor="#70A040">
<br>
<table align='center' border='0' bordercolor="#FFffff" >
<tr bgcolor='#666666'>
<td>
<p align="center"><a href='index.php'><font size='4' color='white'>Volver Foro</font> </a></p>
</td>
<?$pp=$var;?>
<td>
<? print ("<p align='center'><a href='altamensaje.php?var1=$pp'><font size='4' color='white'>Responder Mensaje</font> </a></p>");?>
</td>
<td>
</td>
</tr>
<?php
if ($abierto mysql_connect ("localhost","usuario","password")){
$leer "SELECT id,autor,fecha,email,mensaje FROM temas WHERE padre=$var";
$datos mysql_db_query ("basedatos",$leer);
print(
"<table align='center' width='50%' border='0'>");
while (
$fila mysql_fetch_array ($datos)) {
print (
"<tr><td ><font size='4' color='white'>Autor :</font></td><td > ".$fila[1]."</td></tr>
      <tr><td ><font size='4' color='white'>Fecha : </font></td><td>"
.$fila[2]."</td></tr>
      <tr><td ><font size='4' color='white'>E-mail : </font></td><td>"
.$fila[3]."</td></tr>
      <tr><td ><font size='4' color='red'>Mensaje : </font></td><td>"
.$fila[4]."</td></tr><tr ><td colspan='2'><hr></td></tr>");
}
print (
"</table>");
} else {
print (
"No se puede conectar. Intente nuevamente");
}
?>

<hr>
</body>
</html>


gracias espero puedan darme una idea. de que tenga que cambiar. puesto a que esto en mi servidor local funciona perfectamente ya cuando lo subo al dominio en internet es cuando paniquea con este error.

saludos todos y tengan un excelente dia.

Rogelio

Shell Root

Cómo es posible que se arregle si la pones en Mayús?

Y para el código, verifica el siguiente,
Código (php) [Seleccionar]
<?php
   $handler 
mysql_connect ("localhost","usuario","password") or die("Error: ".mysql_error());
   
mysql_select_db("basedatos"$handler);
   if (
$handler){
      
$sSQL "SELECT id, autor, fecha, email, mensaje FROM temas WHERE padre='$var'";
      
$sQuery mysql_query($sSQL$handler) or die("Error: ".mysql_error());

      print(
"<table align='center' width='50%' border='0'>");

      while (
$sRows mysql_fetch_array ($sQuery)) {
         print (
"<tr><td ><font size='4' color='white'>Autor :</font></td><td > ".$sRows[1]."</td></tr>
            <tr><td ><font size='4' color='white'>Fecha : </font></td><td>"
.$sRows[2]."</td></tr>
            <tr><td ><font size='4' color='white'>E-mail : </font></td><td>"
.$sRows[3]."</td></tr>
            <tr><td ><font size='4' color='red'>Mensaje : </font></td><td>"
.$sRows[4]."</td></tr><tr ><td colspan='2'><hr></td></tr>");
      }

      print (
"</table>");
   } else {
      print (
"No se puede conectar. Intente nuevamente");
   }
?>
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

royerphpmysql

Hola Shell Root fijate que inlcui el fragmento de codigo que amablemente me compartiste y no muesta error pero tampoco muestra resultados..

de lo de mayusculas y minusculas me marcaba ese mismo error

y el nombre de la tabla esta escrito en mayusculas, se lo cambie a minusculas y lo dejo de marcar..

espero tus comentarios.

muchso saludos

Shell Root

#3
Intenta printear la salida de la Query, para verificar dentro del moto de base de datos, así,
Código (php) [Seleccionar]
<?php
   $handler 
mysql_connect ("localhost","usuario","password") or die("Error: ".mysql_error());
   
mysql_select_db("basedatos"$handler);
   if (
$handler){
      
$sSQL "SELECT id, autor, fecha, email, mensaje FROM temas WHERE padre='$var'";

      
$sQuery mysql_query($sSQL$handler) or die("Error: ".mysql_error());
      
########
      
print ($sQuery); #Aqui
      ########
      
print("<table align='center' width='50%' border='0'>");
 
      while (
$sRows mysql_fetch_array ($sQuery)) {
         print (
"<tr><td ><font size='4' color='white'>Autor :</font></td><td > ".$sRows[1]."</td></tr>
            <tr><td ><font size='4' color='white'>Fecha : </font></td><td>"
.$sRows[2]."</td></tr>
            <tr><td ><font size='4' color='white'>E-mail : </font></td><td>"
.$sRows[3]."</td></tr>
            <tr><td ><font size='4' color='red'>Mensaje : </font></td><td>"
.$sRows[4]."</td></tr><tr ><td colspan='2'><hr></td></tr>");
      }
 
      print (
"</table>");
   } else {
      print (
"No se puede conectar. Intente nuevamente");
   }
?>
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

royerphpmysql

excelente maestro ya me dio otro resultado

Código (php) [Seleccionar]

Resource id #2


que significara

royerphpmysql

#5
segun lo que se es que es el identificador de recursos de la consulta y efectivamente deben de aparecer 2 recursos. la pregunta y la respuesta..

pregunta. tengo que manejar un mysql close?  bueno sigo con la duda original como arreglar ese mensaje posteado anteriormente Resource id #2

aqui lo raro es que en mi server local funciona perfectamente!!

Shell Root

Perdón men, mala mia. Es la siguiente, cambia la linea que adicione por la siguiente,
Código (php) [Seleccionar]
      ########
      print ($sSQL); #Aqui
      ########


Cuando muestre el resultado, ejecutadlo en el motor de base de datos a ver si te trae algo la Query.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

royerphpmysql

#7
que onda hermano mira el resultado es este.

Código (php) [Seleccionar]

SELECT id, autor, fecha, email, mensaje FROM temas WHERE padre=''


al realizar la consulta tengo que realizar esto.
Código (php) [Seleccionar]


SELECT id, autor, fecha, email, mensaje
FROM temas
WHERE padre =12
LIMIT 0 , 30


tengo que quitarle las comillas y ponerle un valor. para que me de una consulta. no se si me explique. porque si estan las comillas no me muestra nada entonces la variable esa que va alli tiene que traer un valor de la pagina qeu vengo..

y me pone esto.
Código (php) [Seleccionar]


    12 Rogelio 2010-10-18 rogelio@hotmail.com cmo se peuden casar por la iglesia cuales son los ...
      23 Padre Rosales 2010-11-05 . puedes venir a pedir informes a ventanilla hijo


es el resultado cuando le quito las comillas. y le pongo un valor de lo contrario no me da nada.

cassiani

que almacenas en el campo padre? si es un campo de tipo numérico no le coloques comillas.

te pregunto.. 12 no es el ID del registro:
12 Rogelio 2010-10-18 rogelio@hotmail.com cmo se peuden casar por la iglesia cuales son los ...
??

mejor muestra la estructura de la tabla y se te ayuda a armar correctamente la consulta.

saludos!!

royerphpmysql

aqui anexo la estructura.

Código (sql) [Seleccionar]

CREATE TABLE `temas` (
 `ID` tinyint(4) NOT NULL auto_increment,
 `Autor` varchar(30) NOT NULL,
 `Mensaje` text,
 `Padre` tinyint(4) default NULL,
 `Fecha` date default NULL,
 PRIMARY KEY  (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;



el 12 viene representando el ID. de un mensaje que previamente selecciono , segun el mensaje que selecciono es el ID que debe de mostrar.

ejemplo. si selecciono el mensaje 16 en la pantalla donde tengo el problema me muestra esta liga.
Código (php) [Seleccionar]

/foro/listahijos.php?var=16

espero explicarme.

saludos.