2009-07-17 6 views
0

J'ai une table qotwVote1a avec les champs QuestionId, MemberId, Vote1aQuestionId et MemberId sont la clé primaire.Problème dans la requête SQL à partir de PHP

Je veux lancer une requête pour trouver qu'un membre, a voté pour une question ou non. Sinon, je mets la variable $j à 0, si oui, je la mets à 1.

J'ai écrit cette requête. Mais cela me donne une erreur. Quelqu'un peut-il y jeter un coup d'oeil? Et si vous voulez demander quelque chose de plus, faites le moi savoir.

$questionId=57; 
$id="zee"; 
$result2 = mysql_query(" 
      SELECT MemberId 
      FROM qotwVote1a 
      WHERE QuestionId='".$questionId."' 
      AND MemberId='".$id."' 
      AND MemberId NOT IN (' 
       SELECT MemberId 
       FROM qotwVote1a 
       WHERE QuestionId='".$questionId."' 
      ') 
      ");//WHERE QuestionId='".$questionId."' 
$j=0; 
echo $result2; 
while($row2 = mysql_fetch_array($result2)) 
{ 
    echo $row2['Vote1a']." ".$row2['QuestionId']." ".$row2['MemberId']; echo "<br/>"; 
    $j=1; 
} 
echo($j); 
+1

Quelqu'un peut reformater ce code s'il vous plaît? Je n'ai pas encore de représentant. –

+0

@Brian: Fait. – Welbog

Répondre

1

J'ai un qotwVote1a de table avec des champs QuestionID, MemberID, Vote1a où QuestionID et MemberID sont la clé primaire .

Je veux lancer une requête pour trouver qu'un membre , a voté pour une question ou pas. Sinon, je mets la j variable $ à 0, si oui, je l'ai mis à 1.

Je ferais cela avec une boucle sur les membres et faire l'instruction SQL suivante pour chaque membre:

// assuming to loop over all Members. 
$j = 0; 

$sql = 'SELECT MemberId' 
    . ' FROM qotwVote1a' 
    . ' WHERE QuestionId=' . $questionId . ' 
    . ' AND MemberId=' . $id . ' 
    . ' LIMIT 1;'; // returns max. 1 row if found else FALSE. 

$result2 = mysql_query($sql); 
if (FALSE !== ($row2 = mysql_fetch_array($result2))) { 
    $j = 1; 
} 
5

Vous avez la sous-requête

(' SELECT MemberId FROM qotwVote1a WHERE QuestionId='".$questionId."' ') 

à l'intérieur des guillemets simples. Retirez-les:

SELECT MemberId FROM qotwVote1a WHERE QuestionId='".$questionId."' AND MemberId='".$id."' AND MemberId NOT IN (SELECT MemberId FROM qotwVote1a WHERE QuestionId='".$questionId."') 
Questions connexes