Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] error en consulta mysql pero todo esta bien?

Estas en el tema de error en consulta mysql pero todo esta bien? en el foro de PHP en Foros del Web. Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Blog\post.php on line 34 pero la verdad le he buscado y rebuscado y nada, ...
  #1 (permalink)  
Antiguo 15/12/2015, 18:18
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 11 meses
Puntos: 2
Sonrisa error en consulta mysql pero todo esta bien?

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Blog\post.php on line 34

pero la verdad le he buscado y rebuscado y nada, no le consigo la solucion

mi codigo es este:

<!DOCTYPE html>
<html>
<head>

<title>Aplicaciones</title>

</head>


Código PHP:
<?php

$id
=$_GET['n'];
$sql=mysql_query("SELECT * FROM post WHERE id=$id");
$numero mysql_num_rows($sql);
if (
$numero==0) {
    echo 
"<center>No se ha encontrado el post.</center>";
     echo 
mysql_error();
}else{

$row=mysql_fetch_array($sql);

?>
         

<section id="post">
<h1> <?php echo $row['titulo']; ?></h1>
<?php echo '<img src="'.$row['imagen'] .'">'?>
<article>
   <p>
   <?php echo substr($row['contenido'], 0,500)."..."?> 
   </p>
</article>
<h6> <?php echo "Por ".$row['autor']; ?> <?php echo "el ".$row['dia']."/".$row['mes']."/".$row['anio']; ?> </h6>
</section>

<?php
}
?>
</body>

</html>




cuando uso echo mysql_error();
me sale esto:

You have an error in your SQL syntax; check the manual that corresponds to your server version for the right syntax to use near '=' at line 1

Última edición por kukiko11; 15/12/2015 a las 18:24
  #2 (permalink)  
Antiguo 15/12/2015, 18:36
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 11 años, 2 meses
Puntos: 145
Respuesta: error en consulta mysql pero todo esta bien?

Prueba cambiando esto:

Código PHP:
Ver original
  1. $sql=mysql_query("SELECT * FROM post WHERE id=$id");

Por esto:

Código PHP:
Ver original
  1. $sql=mysql_query("SELECT * FROM post WHERE id = '$id' ");
__________________
¿Te sirvió la respuesta? Deja un +1
  #3 (permalink)  
Antiguo 15/12/2015, 19:11
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 11 meses
Puntos: 2
Respuesta: error en consulta mysql pero todo esta bien?

con el cambio me arroja:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Blog\post.php on line 35

No se ha encontrado el post.

You have an error in your SQL syntax; check the manual that corresponds to your server version for the right syntax to use near 'id']; ?>'' at line 1
  #4 (permalink)  
Antiguo 15/12/2015, 19:12
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 11 meses
Puntos: 2
Respuesta: error en consulta mysql pero todo esta bien?

Cita:
Iniciado por NueveReinas Ver Mensaje
Prueba cambiando esto:

Código PHP:
Ver original
  1. $sql=mysql_query("SELECT * FROM post WHERE id=$id");

Por esto:

Código PHP:
Ver original
  1. $sql=mysql_query("SELECT * FROM post WHERE id = '$id' ");

con el cambio me arroja:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Blog\post.php on line 35

No se ha encontrado el post.

You have an error in your SQL syntax; check the manual that corresponds to your server version for the right syntax to use near 'id']; ?>'' at line 1
  #5 (permalink)  
Antiguo 15/12/2015, 20:19
 
Fecha de Ingreso: julio-2011
Ubicación: Los Rios
Mensajes: 145
Antigüedad: 13 años, 4 meses
Puntos: 10
Respuesta: error en consulta mysql pero todo esta bien?

Tu consulta al momento sería
Código PHP:
Ver original
  1. $sql=mysql_query("SELECT * FROM post WHERE id = '$id' ");

Cambiala por

Código PHP:
Ver original
  1. $sql=mysql_query("SELECT * FROM post WHERE id = '".$id."' ");
De esa manera estarías concatenando tu id a la cadena sql
Espero haber ayudado
__________________
___________________________
Si te ayudo mi respuesta dale al +1
  #6 (permalink)  
Antiguo 15/12/2015, 21:24
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 11 meses
Puntos: 2
Sonrisa Respuesta: error en consulta mysql pero todo esta bien?

Cita:
Iniciado por juancaalbarracin Ver Mensaje
Tu consulta al momento sería
Código PHP:
Ver original
  1. $sql=mysql_query("SELECT * FROM post WHERE id = '$id' ");

Cambiala por

Código PHP:
Ver original
  1. $sql=mysql_query("SELECT * FROM post WHERE id = '".$id."' ");
De esa manera estarías concatenando tu id a la cadena sql
Espero haber ayudado
hice el cambio y el error persiste exactamente igual... la cuestion es que el codigo anterior responde a un archivo principal donde estan todos los post... con la finalidad de que cuando se presione el link leer mas me muestre ese post especifico... aca el codigo de ambos archivos:

todos_los_post.php (este funciona perfecto)

Código PHP:
<?php
   
include('conexiondb.php'); 
   
$sql mysql_query("SELECT * FROM $tbl_name ORDER BY id DESC LIMIT $start, $limit");

   if (
$total_pages == 0){
?>
<script type="text/javascript">
    alert("No se ha registrado ningún Post hasta el momento...");
</script>

} else if (isset($_GET['n'])) {

    include 'post.php';
    
}else{
      while($row=mysql_fetch_array($sql))
      {
?>

<section id="posts">
<h1> <?php echo $row['titulo']; ?></h1>
<?php echo '<img src="'.$row['imagen'] .'">'?>
<article>
   <p>
   <?php echo substr($row['contenido'], 0,500)."..."?> <a href="apps.php?n=<? echo $row['id']; ?>" class="more"> Leer más</a>
   </p>
</article>
<h6> <?php echo "Por ".$row['autor']; ?> <?php echo "el ".$row['dia']."/".$row['mes']."/".$row['anio']; ?> </h6>
</section>

<?php
}
?>

post.php (este es archivo que me da el error)

Código PHP:
<?php

$id
=$_GET['n'];
$sql=mysql_query("SELECT * FROM post WHERE id = '$id' ");
$numero mysql_num_rows($sql); 
if (
$numero==0) {
    echo 
"<center>No se ha encontrado el post.</center>";
     echo 
mysql_error();
}else{

$row=mysql_fetch_array($sql);
?>
         
<section id="post">
<h1> <?php echo $row['titulo']; ?></h1>
<?php echo '<img src="'.$row['imagen'] .'">'?>
<article>
   <p>
   <?php echo substr($row['contenido'], 0,500)."..."?> 
   </p>
</article>
<h6> <?php echo "Por ".$row['autor']; ?> <?php echo "el ".$row['dia']."/".$row['mes']."/".$row['anio']; ?> </h6>
</section>

<?php
}

?>

Última edición por kukiko11; 15/12/2015 a las 21:29
  #7 (permalink)  
Antiguo 15/12/2015, 21:31
 
Fecha de Ingreso: noviembre-2015
Ubicación: NULL
Mensajes: 23
Antigüedad: 9 años
Puntos: 1
Respuesta: error en consulta mysql pero todo esta bien?

Porque en el post.php definis $row pero nunca haces la condicion:

while($row=mysql_fetch_array($sql)) , esto significa mientras row sea igual a la funcion a asociar con sql, saludos
  #8 (permalink)  
Antiguo 15/12/2015, 21:45
 
Fecha de Ingreso: julio-2011
Ubicación: Los Rios
Mensajes: 145
Antigüedad: 13 años, 4 meses
Puntos: 10
Respuesta: error en consulta mysql pero todo esta bien?

Sigues con el error en:
Código PHP:
Ver original
  1. $sql=mysql_query("SELECT * FROM post WHERE id = '$id' ");

lo ideal es:
Código PHP:
Ver original
  1. $sql=mysql_query("SELECT * FROM post WHERE id = '".$id."' ");

si despues de eso haces un
Código PHP:
Ver original
  1. echo $sql;
notaras que te devuelve:
SELECT * FROM post WHERE id = '$id'

cuando debería devolver algo como:

SELECT * FROM post WHERE id = '125'
__________________
___________________________
Si te ayudo mi respuesta dale al +1
  #9 (permalink)  
Antiguo 15/12/2015, 21:47
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 11 meses
Puntos: 2
Respuesta: error en consulta mysql pero todo esta bien?

Cita:
Iniciado por diegoj9999 Ver Mensaje
Porque en el post.php definis $row pero nunca haces la condicion:

while($row=mysql_fetch_array($sql)) , esto significa mientras row sea igual a la funcion a asociar con sql, saludos
creeme tambien lo pense de hecho lo hice de esa manera y el error persiste

lo ironico es que cuando en el navegador pongo el valor de 'n' por mi cuenta si me muestra unicamente el post correspondiente a ese id que almacena 'n'

http://localhost/blog/todos_los_post.php?n=2
y me aparece el post correspondiente

pero cuando como quiero que funcione, es decir; mediante el click a "leer mas"
el navegador me muestra es:

http://localhost/blog/todos_los_posts.php?n=<? echo $row['id']; ?>
  #10 (permalink)  
Antiguo 15/12/2015, 21:56
 
Fecha de Ingreso: julio-2011
Ubicación: Los Rios
Mensajes: 145
Antigüedad: 13 años, 4 meses
Puntos: 10
Respuesta: error en consulta mysql pero todo esta bien?

Prueba la etiqueta completa al momento de enviar
Código HTML:
Ver original
  1. <a href='todos_los_post.php?n=<?php echo $row['id']; ?>

en lugar de solo <? cambia por <?php
__________________
___________________________
Si te ayudo mi respuesta dale al +1
  #11 (permalink)  
Antiguo 15/12/2015, 22:13
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 11 meses
Puntos: 2
De acuerdo Respuesta: error en consulta mysql pero todo esta bien?

Cita:
Iniciado por juancaalbarracin Ver Mensaje
Prueba la etiqueta completa al momento de enviar
Código HTML:
Ver original
  1. <a href='todos_los_post.php?n=<?php echo $row['id']; ?>

en lugar de solo <? cambia por <?php
JODER! y has dado con la tecla... yo la verdad de ahi es de donde menos fuese sospechado

full gracias man! y a todos los demas... es un alivio contar con gente que hace valer su conocimiento para ayudar. Solucionado!

Etiquetas: mysql, sql
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 22:08.