[PHP] C'est quoi cette erreur

Bonjour,

Voila regardez c'est bizzard quand j'ouvre la page voici l'erreur qui s'affiche:
"Error: 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 '?=$referer_id?, 0, "rt", "rt", 0, "rt", 0, 0, 32576, 0, 0,"80.125.208.221")' at line 1"
A quoi correspond cette erreur ?
Configuration: Windows XP
Internet Explorer 7.0

21 réponses

  1. Bonjour,

    Il ya une erreur de syntaxe à la ligne 1.
    voilà la réponse à ta question

    MAIS
    si tu avais noté la ligne 1 complètement, on pourrait t'aider.

    1. Voila je pense que cela vien de ce bout de code :

      {

      $sSQL="insert into t_Users(n_RefererID, b_Admin, s_Username, s_Password, n_Credits, s_Email, n_Views, n_Clicks, n_Rand, b_Activated, b_Newsletter,logged_ip) values(".stripjunk($referer_id).", ".stripjunk($b_Admin).", \"".stripjunk($username)."\", \"".stripjunk($password)."\", ".stripjunk($n_Credits).", \"".stripjunk($email)."\", 0, 0, ".stripjunk($randnum).", 0, ".stripjunk($b_Newsletter).",\"".stripjunk($present_ip)."\")";
      mysql_query($sSQL) or die("Error: ".mysql_error());
      $sSQL="select n_ID from t_Users where s_Username=\"".stripjunk($username)."\"";
      $results=mysql_query($sSQL);
      list($NID)=mysql_fetch_row($results);
      //$sSQL="update t_Users set n_RefererID=n_RefererID+".stripjunk($referral_credits)." where n_ID=".stripjunk($NID);
      //mysql_query($sSQL);
      $welcomeemailbody=str_replace("_username_", $username, $welcomeemailbody);
      $welcomeemailbody=str_replace("_password_", $password, $welcomeemailbody);
      $welcomeemailbody=str_replace("_id_", $NID, $welcomeemailbody);
      $welcomeemailbody=str_replace("_rand_", $randnum, $welcomeemailbody);
      mail("$email", "$welcomeemailsubject", "$welcomeemailbody", "From: $namefrom <$emailfrom>\n\r");
      echo "Inscription complète - Un e-mail de bienvenue contenant vos informations de connexion a été envoyé à <b>".stripjunk($email)."</b>, cliquez sur le lien dans l'e-mail pour activer votre compte.";
      }
      1. {

        $sSQL="insert into t_Users(n_RefererID, b_Admin, s_Username, s_Password, n_Credits, s_Email, n_Views, n_Clicks, n_Rand, b_Activated, b_Newsletter,logged_ip) values(".stripjunk($referer_id).", ".stripjunk($b_Admin).", \"".stripjunk($username)."\", \"".stripjunk($password)."\", ".stripjunk($n_Credits).", \"".stripjunk($email)."\", 0, 0, ".stripjunk($randnum).", 0, ".stripjunk($b_Newsletter).",\"".stripjunk($present_ip)."\")";
        mysql_query($sSQL) or die("Error: ".mysql_error());
        $sSQL="select n_ID from t_Users where s_Username=\"".stripjunk($username)."\"";
        $results=mysql_query($sSQL);
        list($NID)=mysql_fetch_row($results);
        //$sSQL="update t_Users set n_RefererID=n_RefererID+".stripjunk($referral_credits)." where n_ID=".stripjunk($NID);
        //mysql_query($sSQL);
        $welcomeemailbody=str_replace("_username_", $username, $welcomeemailbody);
        $welcomeemailbody=str_replace("_password_", $password, $welcomeemailbody);
        $welcomeemailbody=str_replace("_id_", $NID, $welcomeemailbody);
        $welcomeemailbody=str_replace("_rand_", $randnum, $welcomeemailbody);
        mail("$email", "$welcomeemailsubject", "$welcomeemailbody", "From: $namefrom <$emailfrom>\n\r");
        echo "Inscription complète - Un e-mail de bienvenue contenant vos informations de connexion a été envoyé à <b>".stripjunk($email)."</b>, cliquez sur le lien dans l'e-mail pour activer votre compte.";
        }
        1. essaies vec ça, j'ai recodé les " et les '

          $sSQL="insert into t_Users (n_RefererID, b_Admin, s_Username, s_Password, n_Credits, s_Email, n_Views, n_Clicks, n_Rand, b_Activated, b_Newsletter,logged_ip)
          values (".stripjunk($referer_id).",'".stripjunk($b_Admin)."','".stripjunk($username)."','".stripjunk($password)."','".stripjunk($n_Credits)."','".stripjunk($email)."', 0, 0, '".stripjunk($randnum)."', 0, '".stripjunk($b_Newsletter)."','".stripjunk($present_ip)."')";

          1. Toujours la même erreur ... Peut etre est-ce un problème de perissions chmod ... Merci quand meme !
            1. Nonnabsolument pas une ereur de syntaxe n'est pas due aux permisisons
              1. peut faire echo $sSQL; avant d'envoyer la requête mais après l'avoir créée et me donner le résultat ?
                1. select * from t_Users
                  Error: 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 '?=$referer_id?,'0','fg','fg','0','fg', 0, 0, '12565', 0, '0','80.125.208.221')' at line 2

                  Voila ce que sa fait. Je l'ai mis au début du code le echo.
                  1. NON

                    je le veux là

                    $sSQL="insert into t_Users(n_RefererID, b_Admin, s_Username, s_Password, n_Credits, s_Email, n_Views, n_Clicks, n_Rand, b_Activated, b_Newsletter,logged_ip) values(".stripjunk($referer_id).", ".stripjunk($b_Admin).", \"".stripjunk($username)."\", \"".stripjunk($password)."\", ".stripjunk($n_Credits).", \"".stripjunk($email)."\", 0, 0, ".stripjunk($randnum).", 0, ".stripjunk($b_Newsletter).",\"".stripjunk($present_ip)."\")";

                    echo $sSQL;

                    mysql_query($sSQL) or die("Error: ".mysql_error());
                    1. <gras>Voila:</gras>

                      insert into t_Users(n_RefererID, b_Admin, s_Username, s_Password, n_Credits, s_Email, n_Views, n_Clicks, n_Rand, b_Activated, b_Newsletter,logged_ip) values(?=$referer_id?, 0, "ef", "ef", 0, "ef", 0, 0, 28394, 0, 0,"80.125.208.221")Error: 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 '?=$referer_id?, 0, "ef", "ef", 0, "ef", 0, 0, 28394, 0, 0,"80.125.208.221")' at line 1
                      1. Ok mais si tu veux de l'aide donnes moi le résulat du echo bien placé

                        j'ai réagis trop vite je regarde mais j'ai déjà ma petite idée.
                        1. il se peut que stripjunk soit une fonction php sur le siet où le scrip a été copié. de ce fait le contenu des variabels dans la requête sont erronnées.
                          essaie ceci

                          $sSQL="insert into t_Users (n_RefererID, b_Admin, s_Username, s_Password, n_Credits, s_Email, n_Views, n_Clicks, n_Rand, b_Activated, b_Newsletter,logged_ip)
                          values (".$referer_id.",'".$b_Admin."','".$username."','".$password."','".$n_Credits."','".$emai)."', 0, 0, '".$randnum."', 0, '".$b_Newsletter."','".$present_ip."')";
                          1. Sa me met cela mainteant :


                            Parse error: syntax error, unexpected ')' in D:\www\bannee.fr\htdocs\signup_lib.php on line 126
                            1. Nan c bon g réparer ca mais maintenant il me met :

                              Error: 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 '<?=$referer_id?,'0','tg','tg','0','tg', 0, 0, '19655', 0, '0','80.125.208.221')' at line 2
                              1. j'ai oublié d'enlever un truc :

                                $sSQL="insert into t_Users (n_RefererID, b_Admin, s_Username, s_Password, n_Credits, s_Email, n_Views, n_Clicks, n_Rand, b_Activated, b_Newsletter,logged_ip)
                                values ('".$referer_id."','".$b_Admin."','".$username."','".$password."','".$n_Credits."','".$emai)."', 0, 0, '".$randnum."', 0, '".$b_Newsletter."','".$present_ip."')";
                                1. Ca met cela :

                                  Warning: mail() [function.mail]: SMTP server response: 550 A valid address is required. in D:\www\bannee.fr\htdocs\signup_lib.php on line 137
                                  Inscription complète - Un e-mail de bienvenue contenant vos informations de connexion a été envoyé à rf, cliquez sur le lien dans l'e-mail pour activer votre compte.
                                  • 1
                                  • 2