[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. maintenant on change de problème,
    il demande une adresse mail valide. c'est même écrit en français.

    je te suggère d'ouvrir un nouveau topic pour ça d'autant plus que je dois partir à 16 h.
    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. 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. 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. Sa me met cela mainteant :


            Parse error: syntax error, unexpected ')' in D:\www\bannee.fr\htdocs\signup_lib.php on line 126
            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. 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. <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. 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. 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. peut faire echo $sSQL; avant d'envoyer la requête mais après l'avoir créée et me donner le résultat ?
                        1. Toujours la même erreur ... Peut etre est-ce un problème de perissions chmod ... Merci quand meme !
                          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. {

                              $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. 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
                                • 2