Connexion Base de Données

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

  • Connexion Base de Données

    Bonjour,

    Je suis chez O2Switch et je profite de l'été pour réinstaller mon site en Joomla 5 et Php 8.2

    Chez cette hébergeur le choix de la base de données est MySQL PDO

    lorsque je fais une requête vers cette base cela ne fonctionne pas voilà l'erreur:
    0 Call to undefined function pdo_mysql_connect()

    J'ai vérifié dans la conf de l'hébergeur et les extensions pdo etpdo_mysql sont bien cochés

    Voilà la requête de connexion que je lance :
    $bdd = pdo_mysql_connect("localhost", "xxxxxxx", "xxxxxx", "xxxxxx");

    D'avance merci pour votre
    Très bonne journée
    Jean-Michel


  • #2
    Bonjour,

    As-tu essayé de passer en MySQLi depuis l'administration si tu y as accès ou directement dans le fichier configuration.php ?
    Code:
    public $dbtype = 'mysqli';
    Pourquoi passes-tu en PDO ?
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

    Commentaire


    • #3
      Bonjour,

      Merci pour la réponse

      Lorsque j'ai déployé Joomla5 sur la plateforme de mon hébergeur, pour le choix de la BdB j'avais soit :
      MySQL (PDO) soit PostegreSQL (PDO)

      Je vais tenter de forcer via configuration.php en mysqli

      Je vous donnerais le résultat

      Jean-Michel

      Commentaire


      • #4
        Bon je fais tout de suite la réponse : Cela ne fonctionne pas et plante totalement le site si je force en Mysqli

        Merci pour l'aide apportée

        Jean-Michel

        Commentaire


        • #5
          Quelle version de PHP ? Je suis étonné que par défaut , Mysqli ne soit pas activé.
          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

          Commentaire


          • #6
            Version PhP 8.2

            Commentaire


            • #7
              Pardon, tu l'avais précisé dans ton premier message.
              Je viens de regarder chez mon hébergeur, avec ces paramètres en 8.2, j'ai bien Msqli et PDO accessibles.
              Cliquez sur l'image pour l'afficher en taille normale

Nom : image.png 
Affichages : 65 
Taille : 17,0 Ko 
ID : 2063680
              "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
              MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

              Commentaire


              • #8
                J'ai vérifié et dans la configuration de mon hébergeur j'ai bien tout coché

                Du coup mon souci c'est quelle requête je dois lancer ?

                D'une part dans configuration.php j'ai public $dbtype = 'mysql'; ce qui me semble curieux et la requête que j'utilisais habituellement :

                $bdd = mysqli_connect("localhost", "xxxxxxx", "xxxxxx", "xxxxxx"); par quoi je dois remplacer mysqli ?

                D'avance merci pour l'aide
                Jean-Michel

                Commentaire


                • #9
                  Fais des recherches sur https://www.php.net/manual/fr/ il y a des réponses pour mysqli_construct et pdo connection
                  "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                  MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                  Commentaire


                  • #10
                    Bonjour,

                    Un retour concernant la recherche
                    J'ai trouvé sur le site
                    https://www.hostinger.fr/tutoriels/connecter-php-base-donnees-mysql#Utilisation_de_PDO_pour_connecter_un_script_ PHP_a_MySQL
                    Comment se connecter
                    Le résultat est ok car lorsque je fais
                    https://liguepicardiedetir.com/databaseconnect.php
                    j'obtiens le résultats {/source}Connected to lpicardie_liguepicardie5 at localhost successfully.{/source}

                    Donc la connexion est ok

                    C'est après que cela se gâte
                    je pense que je fais une erreur dans le script de requête vers la BdD, voilà ce que j'ai mis

                    <p>$bdd =databaseconnect.php</p>
                    <p># Permet un affichage de l'année en cours</p>
                    <p>$anneecompetition="SELECT DISTINCT annee, annee2<br /> FROM info_compet<br /> WHERE annee2 = 2024<br /> ORDER BY annee DESC";<br /> $resultannee = mysql_query($bdd, $anneecompetition)or die("Erreur dans l'extraction des informations")​

                    et j'obtiens cette réponse : 0 syntax error, unexpected variable "$anneecompetition"

                    ​je pense que c'est l'appel vers databaseconnect.php qui pose problème

                    D'avance merci pour votre aide
                    Jean-Michel

                    Commentaire


                    • #11
                      salut, il y a bien un ; à la fin de cette ligne ?
                      [CODE]
                      $resultannee = mysql_query($bdd, $anneecompetition)or die("Erreur dans l'extraction des informations")​
                      {/CODE]

                      Commentaire


                      • #12
                        Bonjour à tous,

                        Désolé pour le retard pris dans ma réponse
                        Voilà l'avancée dans mes recherches

                        J'ai crée un fichier : pdoconfig.php
                        Code:
                        <?php
                        $host = "localhost";
                        $dbname = "xxxxxxxxxxxx";
                        $username = "xxxxxxxxxxxxx";
                        $password = "xxxxxxxxxx";
                        ?>{/source}​
                        Puis un autre databaseconnect.php
                        Code:
                        <?php
                        require_once 'pdoconfig.php';
                        try {
                        $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
                        echo "Connected to $dbname at $host successfully.";
                        } catch (PDOException $pe) {
                        die ("Could not connect to the database $dbname :" . $pe->getMessage());
                        }
                        ?>{/source}​
                        Lancement du script :
                        Code:
                        {source}&lt;?php include("databaseconnect.php");
                        $anneecompetition="SELECT DISTINCT annee, annee2 FROM info_compet WHERE annee2 = 2024 ORDER BY annee DESC"; $resultannee = $conn-&gt;prepare($anneecompetition);
                        $resultannee-&gt;execute();
                        while( $row=$resultannee-&gt;fetch(PDO::FETCH_ASSOC) )
                        $anneecompet1=$row["annee"];
                        $anneecompet2=$row["annee2"]; {
                        echo "Résultats saison $anneecompet1 - $anneecompet2<br />"; }
                        <div class="interligne">?&gt;{/source}</div>​
                        Je n'ai comme affichage que : Résultats saison 2023 -
                        Je n'ai pas l'affichage de la variable $anneecompet2

                        D'avance merci pour votre aide
                        Jean-Michel

                        Je précise que les années commencent à 1990

                        Commentaire


                        • #13
                          {source}&lt;?php
                          include("databaseconnect.php");
                          $anneecompetition="SELECT DISTINCT annee, annee2 FROM info_compet WHERE annee2 = 2024 ORDER BY annee DESC"; $resultannee = $conn-&gt;prepare($anneecompetition);
                          $resultannee-&gt;execute();
                          while( $row=$resultannee-&gt;fetch(PDO::FETCH_ASSOC) ) {
                          $anneecompet1=$row["annee"];
                          $anneecompet2=$row["annee2"];
                          echo "
                          <div class="\&quot;archivesnavigationnew\&quot;">
                          <a href="\&quot;../index.php?option=com_content&amp;view=article&amp; id=8&amp;catid=9&amp;annee1=$anneecompet1&amp;anne e2=$anneecompet2&amp;Itemid=124\&quot;">
                          &lt;font color=\'#29595b\'&gt;Résultats saison $anneecompet1 - $anneecompet2</a><br />"; }
                          <div class="interligne">?&gt;{/source}</div>
                          </div>​[/CODE]

                          J'obtiens comme affichage Résultats saison 2023 - 2024 ce qui est bon par contre aucun lien
                          La page en question http://liguepicardiedetir.com/gestio...mpionnats.html

                          D'avance merci pour votre
                          Jean-Michel

                          Commentaire

                          Annonce

                          Réduire
                          Aucune annonce pour le moment.

                          Partenaire de l'association

                          Réduire

                          Hébergeur Web PlanetHoster
                          Travaille ...
                          X