Error de sintaxis to use near 'BY fecha DESC LIMIT 1' at line 1

Estoy creando un pequeño foro para una asociación que estamos creando. A la hora de en la enlazar la fecha y el autor para que se vea el ultimo post en la página principal me da error de sintaxis to use near 'BY fecha DESC LIMIT 1' at line, a continuación os pongo el código:

<?php do { ?>
  <?php
  mysql_select_db($database_Foro_airsof, $Foro_airsof);
 $publicacion_sql = "SELECT 'id_Menasje' FROM mensaje m WHERE categoria = " . $row_Foro['idCategoria'];
 $ultimo_sql ="SELECT 'autor, Fecha' FROM mensaje m WHERE categoria = " . $row_Foro['idCategoria'] ."ORDER BY fecha DESC LIMIT 1";
 $supost =mysql_query ($ultimo_sql) or die(mysql_error());
 $Totales =mysql_query ($publicacion_sql) or die(mysql_error());          ?>
    <tr>
      <td height="60" align="center" class="carpeta"> </td>
      <td><p class="tema"><a href="Categorias.php?foro=<?php echo $row_Foro['idCategoria']; ?>" class="tema"><?php echo $row_Foro['Nombre']; ?></a></p>
      <p class="subtema"><?php echo $row_Foro['Descripcion']; ?></p></td>
      <td align="center" class="fecha"><?php echo mysql_num_rows($Totales); ?></td>¿
      <td align="center"><?php
       $up =mysql_fetch_assoc($upost);
      echo $up['Fecha'];
      echo '<br /';
      echo $up['autor'];
      ?></td>
  </tr>
<?php } while ($row_Foro = mysql_fetch_assoc($Foro)); ?>

Al cargar la página en el localhost me aparece lo siguiente:

" You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BY fecha DESC LIMIT 1' at line 1"

Estoy usando dreamweaver cs6, haber si mepodeis ayudar

1 respuesta

Respuesta

Habría que ver como tienes la bd, así es complicado, o si usas funciones saber como la usas, el error te lo da en la forma de usarlo,

Yo lo tengo así, pero como te digo habría que probarlo,

"SELECT * FROM tblfrecuentes WHERE tblfrecuentes.intEstado = 1 ORDER BY tblfrecuentes.fchFecha DESC"

Te puse en negrita el nombre de mi tabla, la que lógicamente deberás ambiar por la tuya, y en cursiva los datos de mi base, también deberás cambiarla por la de la tuya,

O pon la consulta completa, es decir desde

<?php require_once ...........

$totalRows_xxxxxx = mysql_num_rows($xxxx);
?>

O si la haces con alguna función pasa convertir fechas en formato D/M/Y.

Otra cosa que acabo de ver el do while, lo tienes puesto en la consulta, y lo que debes de repetir es decir el do while lo que hace es repetir, eso debes hacerlo en la/las tablas, más o menos seria algo así

do { ?>

{Foro.Nombre}

{Foro.Descripcion}

<?php } while ($row_Foro = mysql_fetch_assoc($Foro));?>

Esto hace que se repita la columna del nombre como la pregunta, o respuesta, obteniendo en cada una los datos de usuario y su pregunta o respuesta, según veo en tu do while lo que repites ella consulta a la base de datos, alarga el código, o ponlo completo, yo también tengo el dw.

como se debe alargar el codigo while? como seria completo?

lo siento mucho pero no tengo mucha idea de php

Alargar es que pongas más partes del código, o completo, es como mejor se te podría ayudar, si bien yo no encontrara la forma, pues otro compañero.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas