php
  • mysql
  • 2011-09-14 4 views -1 likes 
    -1

    J'ai une erreur avec un script php et je ne suis pas sûr que ma requête de jointure est correcte?Ma requête MySQL est-elle correcte?

    $sql15 = mysql_query("select userid, Reciver, Sender , proimg from Friends JOIN users ON(Reciver ='$fullname' or Sender ='$fullname') where accepted = 2") or die("ERROR Please refresh the page and try again"); 
    $Fri = mysql_num_rows($sql15); 
    

    ce qui est l'autre que je pense est le problème

    $sql12 = mysql_query("select * from Friends where (Reciver = '$fullname' or Sender = '$fullname')") or die("ERROR Please refresh the page and try again"); 
    $Friends = mysql_num_rows($sql12); 
    

    Question: Quel est le problème avec mes mysql querys?

    +0

    Des messages d'erreur sont-ils affichés? – Dirk

    +0

    Non, il ne fait pas ce que c'est fait 2 faire son donne un 1 et je devrais me donner 2 – Ryan

    +0

    Pouvez-vous nous donner une idée de ce que les requêtes sont censées accomplir? Et quelques exemples de données. – Dirk

    Répondre

    2

    Non, votre syntaxe JOIN n'est pas correcte. JOIN doit être utilisé pour, bien, joindre tables. Par exemple:

    SELECT * 
    FROM friends 
    JOIN users ON friends.user_id = users.id 
    

    Cette rejoindrait la table des « amis » avec la table « utilisateurs » en comparant les colonnes spécifiées.

    Votre clause actuelle JOIN compare des champs à des variables, en essayant essentiellement de l'utiliser comme une clause WHERE. Cela ne va pas jeter une erreur, mais il ne fera pas de jointure.

    Les documents MySQL sont assez bons: http://dev.mysql.com/doc/refman/5.0/en/join.html Vous devriez leur donner une lecture et tester votre SQL soit en utilisant l'application Workbench ou la ligne de commande MySQL. Ces outils vous donneront un meilleur retour que d'utiliser or die... en PHP.

    Questions connexes