2011-10-19 3 views
-3

OK J'ai essayé de parcourir les threads mySQL mais je n'ai pas pu trouver ce que je voulais probablement parce que je ne connaissais pas les termes corrects.Requête mySql return si row est égal

De toute façon j'ai besoin d'une requête pour retourner des lignes qui sont égales à une chaîne. Ce cas "David" je veux montrer deux choses "commentaires" et "postdate". Seule la date est affichée en ce moment mais aucun commentaire. Oui, il y a des données dans les commentaires.

Voici ce que j'ai jusqu'à présent:

> $query = "SELECT * FROM sessionscomments session = 'David'"; 
> $result = mysql_query($query); 
> 
> 
> while($row = mysql_fetch_assoc($result)) { 
> 
> echo "<div id=fav>";  
> echo strip_tags("Date: {$row['postdate']}"); 
> echo "</div>"; 
> echo "<br>";  
> echo strip_tags("{$row['comments']}"); 
> echo "<br>";  
> echo "<hr class= \"box\">"; 
> 
> } 

et j'ai la date stockée avec CURRENT_TIMESTAMP comment puis-je montrer juste le mois de jour et l'année?

et comment puis-je avoir la dernière ligne d'écho PAS arrivé avec la dernière passe?

Merci d'avance.

+0

Suggestion générale: Sortez de l'habitude d'utiliser 'SELECT *' et indiquez explicitement les colonnes que vous renvoyez. Si vous avez seulement besoin des colonnes 'postdate' et' comments', alors sélectionnez-les seulement. Apparaît également que votre requête ne contient pas le mot clé WHERE. –

Répondre

2

Il est ce qu'on appelle une clause WHERE, et vous avez failli se faire dans votre requête:

SELECT comments, postdate 
FROM sessioncomments 
WHERE session='David' 

Ne pas utiliser SELECT *. C'est inefficace, surtout si c'est une table "large" et que vous n'utiliserez que quelques champs. C'est comme ramener à la maison un mois d'épicerie, puis jeter tout ça à la poubelle et ne manger que des bonbons et des biscuits.

De même, ne supposez pas qu'une requête aboutit. A mininum nu, pour le développement de fins, vous devriez toujours faire quelque chose comme ceci:

$result = mysql_query($sql) or die(mysql_error()); 
          ^^^^^^^^^^^^^^^^^^^^^ 

Ce tuerons le script si la requête échoue, et vous dire exactement pourquoi il a échoué. Autrement, votre script continuerait tout simplement sans résultats (ou mauvais) et probablement bousiller plus tard à cause de ces mauvaises données.

+0

hey pense que vous m'avez vraiment aidé et m'a mis sur la bonne voie. merci beaucoup – hobbywebsite

+0

Le "* à des fins de développement *" ne peut pas être assez souligné, rien ne crie "venez me pirater" comme la production d'erreurs de base de données brutes sur les pages en direct. –

+0

Je sors de mon chemin pour crier "viens me pirater" ... LOL, merci pour le rire – Leslie