Rechercher : dans
Par :

Vérifié si une entré existe mysql

Dernière réponse le 7 jun 2009 à 20:43:51 lucas34, le 7 jun 2009 à 19:15:44 
 Signaler ce message aux modérateurs

Bonjour, j'ai un petit problème :

<?php
if(mysql_query("SELECT * FROM commentaire WHERE id_news = '$donnees['id']'") == true ){
  echo "Oui";
}
else
{
  echo "non";
}
?>



Je voudrais que si une entrée avec id_news = "chiffre variable" existe, il affiche oui dans le cas contraire, il affiche non. Malheureusement sa ne fonctionne pas, il me renvoi : Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
Pour la ligne que j'ai mis en gras.

Si vous savez comment corriger le problème, aidez moi merci. Lucas

Meilleures réponses pour « Vérifié si une entré existe mysql » dans :
Comment vérifier si mon antivirus est actif ? VoirLe test Si vous avez des doutes sur le fait que votre antivirus soit actif, il vous suffit de télécharger le fichier suivant Si votre antivirus bloque le téléchargement et vous affiche une alerte, tout va bien. Votre antivirus est actif. Si...
Vérifier si un nombre entier est un nombre premier en C VoirDéfinition nombre premier Algorithme 1 : les diviseurs compris entre 2 et N-1 seront testés Algorithme 2 : les diviseurs pairs ne seront pas testés, la recherche se limitant aux diviseurs impairs Algorithme 3 : les diviseurs impairs jusqu'à la...
[Linux] Activer l'Ultra DMA sur un disque dur IDE Voirhdparm Principe Comment se le procurer Mise en oeuvre Connaître les informations concernant vos disques dur IDE Vérifier si l'Ultra DMA est activé Activer l'Ultra DMA Désactiver l'Ultra DMA Mesurer la performance de vos...

1

Nico_, le 7 jun 2009 à 19:37:18

Bonsoir,

je ferais plus tot :

Je suppose que $donnees['id'] est récupéré depuis une autre requette, avant de faire celle ci ?

$sql = 'SELECT count(*) FROM commentaire WHERE id_news="'.$donnees['id'].'" '; 
        $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
       $data = mysql_fetch_array($req); 
        mysql_free_result($req);
// j'affiche un message en fonction 

if ($data[0] == 1) 
{
echo "Oui"; // id_news existe
}
else
{
  echo "non"; //id news n'existe pas
}
mysql_close(); 
Si résolu, n'oublie pas de cliquer !

Répondre à Nico_

2

Alain_42, le 7 jun 2009 à 20:19:35

<?php
if(mysql_query("SELECT * FROM commentaire WHERE id_news = '$donnees['id']'") == true ){


il ne faut pas tester ainsi

il faut faire par exemple:

<?php
$result=mysql_query("SELECT * FROM commentaire WHERE id_news = '$donnees['id']'");
$nb_enr=mysql_num_rows($result);

if($nb_enr>0) {
echo "Oui"; // id_news existe
}else{
echo "non"; //id news n'existe pas

}


il y a aussi une autre solution avec la requette "SELECT COUNT(*) FROM commentaire WHERE id_news = '$donnees['id']'"

Répondre à Alain_42

3

lucas34, le 7 jun 2009 à 20:24:40

En effect, $donnees['id'] est un nombre récupéré par une requête précédente.


J'ai essayé le code que tu ma donnée mais il m'affiche "non" Alors que en réalité, il devrait m'afficher "oui", car il existe bien une entrée d'on id_news = La valeur Lucas

Répondre à lucas34

4

lucas34, le 7 jun 2009 à 20:28:06

Alain_42, ton code me renvoie la même erreur que dans mon premier message à savoir : Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING Lucas

Répondre à lucas34

5

 lucas34, le 7 jun 2009 à 20:43:51

J'ai mis ceci :

<?php
$req40 = "SELECT * FROM commentaire WHERE id_news = '".$donnees['id']."'" ;
$res40 = mysql_query($req40);
$n = mysql_num_rows($res40);

if($n !== false)
{
  if($n == 0)
    echo "c'est non" ;
  else
    echo "c'est oui" ;
}
else{
  echo "Il y a eu une erreur et le résultat ne peut être garantit!" ;}
?>


Sa a l'air de fonctionné. Merci pour votre aide ! Lucas

Répondre à lucas34