2010-11-24 4 views
-1

La requête électronique ci-dessous est supposée être déclenchée par un champ appelé "ttemail" étant 0. Lorsque j'essaie de l'utiliser, je reçois 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 '1' at line 1.Erreur MySQL à partir d'une instruction IF

Il semble que l'e-mail envoie pour au moins le premier nom d'utilisateur où ttemail = 0.

Toutes les idées pourquoi?

Merci à l'avance,

John

if($row["ttemail"] == 0){ 
    $mailaddress = $row['email']; 
    $link1 = "<a href='http://www...com/page.php'>Page Title</a>"; 
    $message1 = "Congratulations, message. 

       <br> 
       <br> 

       More Message 

       <br> 
       <br> 

       Please click the link below to see more. 
       <br> 
       <br> 

       $link1 
       ";  

    $headers = 'MIME-Version: 1.0' . "\r\n"; 
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
    $headers .= "From: Website Name <[email protected]>" . "\r\n"; 

    $queryem = mail($mailaddress, "Congratulations, message 
          $submission.", $message1, $headers); 

    //$ttquery = sprintf("Update login SET ".$row['ttemail']." = '1' WHERE username = ".$row['username']."");   

    mysql_query($queryem) or die(mysql_error()); 
    mysql_query($ttquery) or die(mysql_error()); 
} else { 
} 
+3

Attendez, quoi? Vous utilisez la valeur de retour d'un appel à 'mail()' en tant que requête MySQL ??? – EboMike

+2

Vous souhaitez utiliser une requête booléenne? = P – MatTheCat

+1

N'avez-vous pas posé la même question hier et je ne vous ai pas demandé dans cette question s'il vous plaît montrer les requêtes générées au lieu du code source PHP sans signification? –

Répondre

0

Je pense que vous manque un »dans votre clause where. Vérifiez la requête corrigée ci-dessous -

$ttquery = sprintf("Update login SET ".$row['ttemail']." = '1' WHERE username = '".$row['username']."'");