1064 SQL Error - Js Jobs

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] 1064 SQL Error - Js Jobs

    Bonjour,

    Je suis en train de tester le composant js jobs pour la gestion de CV/offres d'emploi.
    A la validation d'un formulaire, j'ai une erreur sql :

    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 '' at line 4 SQL=SELECT company.contactname AS name, company.contactemail AS email, job.title, job.sendemail FROM `xxxxx_js_job_companies` AS company JOIN `xxxxx_js_job_jobs` AS job ON job.companyid = company.id WHERE job.id =
    Voici la fonction en question (en raccourci) :

    Code PHP:
    function sendMail($jobid$uid,$resumeid)
        {
            
    $db =& JFactory::getDBO();        
            
    $templatefor 'jobapply-jobapply';
            
    $query "SELECT template.* FROM `#__js_job_emailtemplates` AS template    WHERE template.templatefor = ".$db->Quote($templatefor);
            
    $db->setQuery$query );
            
    $template $db->loadObject();
            
    $msgSubject $template->subject;
            
    $msgBody $template->body;        
            
    $jobquery "SELECT users.name, users.email, job.title, job.sendemail FROM `#__users` AS users, `#__js_job_jobs` AS job  
            WHERE users.id = job.uid  AND job.id = "
    .$jobid;

    $jobquery "SELECT company.contactname AS name, company.contactemail AS email, job.title, job.sendemail 
            FROM `#__js_job_companies` AS company
            JOIN `#__js_job_jobs` AS job ON job.companyid = company.id  
            WHERE job.id = "
    .$jobid
    Mes connaissances en sql sont basiques et je ne parvient pas a identifier le probleme de syntaxe.

    D'apres le message, l'erreur est dans la 4e ligne au niveau des guillemets soit :
    Code PHP:
    WHERE job.id ".$jobid
    Pour info : PHP 5.3 & MySQL 5.1
    Meme probleme en local ou sur serveur distant.

    Est ce que quelqu'un aurait une idee ?

    J'ai poste sur le forum de js jobs mais comme le problème a l'air d'etre purement du sql, je poste ici aussi.

    Merci !
    Nicolas
    Regarde Bill ... Y'a encore des £ogici€l$ gratuits !!

  • #2
    Re : 1064 SQL Error - Js Jobs

    Je viens de faire le test du composant sur joomla 3.1.5, 3.1.1 et 2.5.x
    Ca fonctionne bien avec la 2.5, pas avec les versions 3.

    Le site propose le composant en version 2.5 et en version 3, mais le fichier contenant la fonction qui pose probleme est identique dans les 2 versions.

    L'evolution de joomla a t ell eu un impact sur la syntaxe a utilisé ?
    Dernière édition par nico.bzh à 06/11/2013, 20h28
    Regarde Bill ... Y'a encore des £ogici€l$ gratuits !!

    Commentaire


    • #3
      Re : 1064 SQL Error - Js Jobs

      Bonjour,

      Si $jobid n'est pas défini (ce qui est possible avec Joomla! 3.x, bien plus strict que 2.5 sur ce point, la requête SQL échoue avec une erreur syntaxique, une clause WHERE invalide genre
      Code:
      WHERE job.id =
      au lieu d'un normal (exemple)
      Code:
      WHERE job.id = 10
      Le SQL est disons quelque peu chatouilleux sur la syntaxe.
      Dernière édition par jisse03 à 06/11/2013, 20h42
      Pas de demande de support par MP.
      S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

      Commentaire


      • #4
        Re : 1064 SQL Error - Js Jobs

        Salut et merci pour ta reponse.

        Ce que je ne comprends pas, c'est que la variable $jobid est utilisée un peu partout dans les autres fonctions, et ne pose aucun problème.

        Il se trouve que cette fonction se charge d'envoyer un email a l'admin lorsqu'un visiteur postule a un job.
        Serait il possible qu'un probleme sendmail/smtp ou equivalent soit en fait la cause de l'erreur sql ?

        J'ai oublie de preciser, mais le contenu du formulaire est bel et bien enregistre.
        Dernière édition par nico.bzh à 06/11/2013, 20h47
        Regarde Bill ... Y'a encore des £ogici€l$ gratuits !!

        Commentaire


        • #5
          Re : 1064 SQL Error - Js Jobs

          NON, anbsolument pas. La requête SQL n'a pas de jobid dans sa clause WHERE, ($jobid est NULL lors de la création de la requête).

          Il est possible que la portée de la variable en 2.5 couvrait cette section du code, mais que Joomla! 3.x, plus strict génère ce problème.

          Le plus sage serait de voir ce problème avec le développeur de JS Jobs.
          Dernière édition par jisse03 à 06/11/2013, 21h04
          Pas de demande de support par MP.
          S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

          Commentaire


          • #6
            Re : 1064 SQL Error - Js Jobs

            Ok merci beaucoup. Je vais lui ecrire
            Regarde Bill ... Y'a encore des £ogici€l$ gratuits !!

            Commentaire


            • #7
              Re : 1064 SQL Error - Js Jobs

              En attendant sa reponse, j'ai reflechi a cette histoire de variable nulle.

              Envoyé par jisse03 Voir le message
              Il est possible que la portée de la variable en 2.5 couvrait cette section du code, mais que Joomla! 3.x, plus strict génère ce problème.
              Il se trouve que le lien "postuler a un job" conduit a la page pour quelqu'un d'enregistre et contient la variable jobid dans l'url (non SEF). Si visiteur, alors il y a une redirection vers le formulaire visiteur.

              Je me demande donc si la variable ne se perd pas au moment de la redirection.
              Regarde Bill ... Y'a encore des £ogici€l$ gratuits !!

              Commentaire


              • #8
                Re : 1064 SQL Error - Js Jobs

                Il m'annonce une release le 15 novembre qui devrait regler les problemes pour joomla 3.
                Si c'est le cas, j'essaierai de trouver les modifications qui corrigent cette erreur pour les indiquer ici.
                Regarde Bill ... Y'a encore des £ogici€l$ gratuits !!

                Commentaire


                • #9
                  Re : 1064 SQL Error - Js Jobs

                  Puisqu'il y aura une release, signaler simplement la release, pour que les utilisateurs fassent tous la mise à jour
                  Pas de demande de support par MP.
                  S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                  Commentaire


                  • #10
                    Re : 1064 SQL Error - Js Jobs

                    Envoyé par jisse03 Voir le message
                    Puisqu'il y aura une release, signaler simplement la release, pour que les utilisateurs fassent tous la mise à jour
                    Je signalerai la release, mais la solution a ce probleme pourra peut etre servir pour d'autre composant.
                    Regarde Bill ... Y'a encore des £ogici€l$ gratuits !!

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X