IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Connexion avec la BdB


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2024
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Connexion avec la BdB
    Bonjour,

    Je profite de l'été pour mettre à jour mon site

    Profil : Joomla5 PhP8.2

    Auparavant j'étais en Jooml4 et Php7.2

    Lors de la mise en place, je n'ai plus de dialogue avec la BdB -
    Avant le serveur était MySQLi et maintenant MySQL (PDO)

    Voici le script que j’exécutais avant pour me connecter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $bdd = mysqli_connect("localhost", "xxxxxxx", "xxxxxx", "xxxxxx");
    /* Vérification de la connexion */
    if (mysqli_connect_errno()) {
      printf("Échec de la connexion : %s\n", mysqli_connect_error());
      exit();
    }
    J'ai remplacé mysqli_connect par mysql_connect ==> mysql étant ce qui est présent dans le fichier configuration.php

    Voici l'erreur :
    0 Call to undefined function mysql_connect()
    Pouvez-vous m'aider sur ce problème de connexion ?
    D'avance merci

    Jean-Michel

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 243
    Points : 8 522
    Points
    8 522
    Billets dans le blog
    17
    Par défaut
    Bonjour et bienvenue !
    mysql_connect() & cie est supprimé de PHP depuis des années.
    Je suis étonné que tu doives tripatouiller la connexion à la BdD, Joomla ne gère pas cela lui-même ?
    En tout cas, si tu veux utiliser PDO il faut passer par la classe en question => Doc https://php.net/pdo

    Exemple :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $dsn = 'mysql:host=localhost;dbname=your_db_name';
    $db_user = 'your_user';
    $db_password = 'your_password';
    $pdo = new PDO($dsn, $db_user, $db_password);
    $sql = 'SELECT ALL id, name FROM product';
    $products = $pdo->query($sql)->fetchAll();
    print_r($products);
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2024
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Un grand merci pour l'aide

    Un peu d'historique : en fait j'ai crée le site avec Joomla3 - Php5 etc...
    Donc les commandes qui sont obsolètes maintenant fonctionnaient encore avec Joomla4 et Mysqli....

    C'est une requête qui permet d'afficher des résultats de compétitions après avoir choisi l'année

    J'ai donc modifié le code ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <p>$dsn = 'mysql:host=localhost;
    dbname=xxxxxxx'; 
    $db_user = 'xxxxxx'; 
    $db_password = 'xxxx'; 
    $pdo = new PDO($dsn, $db_user, $db_password);</p>
    <p># Permet un affichage de l'année en cours</p>
    <p>$anneecompetition="SELECT DISTINCT annee, annee2
    FROM info_compet
    WHERE annee2 = 2024
    ORDER BY annee DESC";
    $anneecompetition="SELECT DISTINCT annee, annee2
    FROM info_compet
    WHERE annee2 = 2024
    ORDER BY annee DESC"; 
    $resultannee = $pdo-&gt;query($anneecompetition)-&gt;fetchAll();</p>
    Jusque là tout va bien après j'utilisais ce code qui permet d'aller chercher les données dans la base
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while ($row = mysqli_fetch_array($resultannee))
    $anneecompet1=$row["annee"]; 
    $anneecompet2=$row["annee2"];
    Mais de toute évidence mysqli_fetch_array n'existe plus, !
    J'ai essayé la commande $pdo->fetch_array évidemment cela n'est pas bon
    J'ai regardé dans la doc mais je n'ai pas trouvé A dire vrai je n'ai vu de correspondance

    J'ai une dizaine de scripts à modifier mais au moins je partirais sur de bonne base

    D'avance merci pour votre aide

    Jean-Michel

  4. #4
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2024
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Je vous fais part de mon avancé sur le sujet :

    Voici ce que j'ai crée comme code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    {source}<?php
    $dsn='mysql:host=localhost; 
    dbname=lpicardie_liguepicardie5'; 
    $db_user='lpicardie_SuperAD'; 
    $db_password='Lig628Die'; 
    $pdo=new PDO($dsn, $db_user, $db_password); 
    # Permet un affichage de l'année en cours 
    $anneecompetition="SELECT DISTINCT annee, annee2 FROM info_compet WHERE annee2 = 2024 ORDER BY annee DESC"; 
    $resultannee=$pdo-&gt;prepare($anneecompetition); 
    while ($resultannee = $anneecompetition-&gt;fetch()) {
    $anneecompet1=$row["annee"]; 
    $anneecompet2=$row["annee2"]; 
    print "
    <div class='archivesnavigationnew'>
    <a href='../index.php?option=com_content&amp;view=article&amp;id=8&amp;catid=9&amp;annee1=$anneecompet1&amp;annee2=$anneecompet2&amp;Itemid=124'>
    </div><br /><div class='interligne'><br />;
    <br />
    <font color='#29595b'>Résultats saison $anneecompet1 - $anneecompet2</font></a></div>"; }
    <div class="interligne">?>{/source}</div>
    j'ai cette erreur : 0 syntax error, unexpected identifier "saison" !!
    Si je retire le mot saison du coup c'est unexpected identifier "$anneecompet1"

    Je ne comprends pas du tout

    D'avance merci pour votre aide

    Jean-Michel



    D'avance merci pour votre aide
    Jean-Michel

  5. #5
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2024
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    La nuit portant conseil voici le nouveau script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    {source}&lt;?php 
    include("databaseconnect.php"); 
    # Permet un affichage de l'année en cours 
    $anneecompetition="SELECT DISTINCT annee, annee2 FROM info_compet WHERE annee2 = 2024 ORDER BY annee DESC"; 
    $resultannee=$pdo-&gt;prepare($anneecompetition); 
    while ($resultannee = $anneecompetition-&gt;fetch()) { $anneecompet1=$row["annee"]; $anneecompet2=$row["annee2"];
    $anneecompet1=$row["annee"]; 
    $anneecompet2=$row["annee2"];
    print "
    <div class="archivesnavigationnew">&nbsp;</div>
    <div class="interligne">";
    print "$anneecompet1";
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <div class="interligne">?&gt;{/source}</div>
    </div>
    La réponse est
    0 syntax error, unexpected variable "$anneecompet1

    En fait rien n'est exécuté

    D'avance merci pour votre aide
    Jean-Michel

  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 412
    Points : 15 781
    Points
    15 781
    Par défaut
    la chaine de caractères après le 1er print a l'air d'être mal formée.
    quand vous voulez mettre un " il faut l'échapper et ne pas mettre cela :
    "<div class="archivesnavigationnew">&nbsp;</div>".
    donc cela se corrige comme cela :
    "<div class=\"archivesnavigationnew\">&nbsp;</div>"

    vous pouvez trouver plus d'informations dans la documentation officielle là :
    https://www.php.net/manual/fr/langua....syntax.double

  7. #7
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2024
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Merci pour la réponse

    Hé bien j'ai des mises à jour à faire...

    Effectivement je n'ai plus l'erreur mais il ne va pas chercher la requête

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <p>{source}&lt;?php 
    include("databaseconnect.php"); 
    # Permet un affichage de l'année en cours 
    $anneecompetition="SELECT DISTINCT annee, annee2 FROM info_compet WHERE annee2 = 2024 ORDER BY annee DESC"; 
    $resultannee=$pdo-&gt;prepare($anneecompetition); 
    while ($resultannee = $anneecompetition-&gt;fetch()) { 
    $anneecompet1=$row["annee"]; 
    $anneecompet2=$row["annee2"];}
    print "
    "<div class=\"archivesnavigationnew\">&nbsp;</div>"
    <div class="interligne">";
    print "$anneecompet1 - $anneecompet2"; 
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <div class="interligne">
    ?&gt;{/source}</div>
    </div>

    Le retour est :

    {/source}Connected to xxxxxx_xxxxxxx at localhost successfully.{/source} -
    et c'est tout pas d'affichage des variables

    D'avance merci pour votre aide

    Jean-Michel

  8. #8
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Août 2024
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Des nouvelles sur le travail, je me connecte bien à la base et en envoyant ce script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    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>
    J'obtiens comme affichage Résultats saison 2023 - 2024 ce qui est bon par contre aucun lien, c'est comme si la commande a href= n'est pas prise en compte...
    La page en question http://liguepicardiedetir.com/gestio...ts.html​

    D'avance merci pour votre
    Jean-Michel

Discussions similaires

  1. Echec de connexion avec la BD
    Par manel007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/02/2005, 12h01
  2. [ORACLE 10g Linux] Pbm de connexion avec un Client winXP
    Par zarbiwayne dans le forum Administration
    Réponses: 26
    Dernier message: 20/08/2004, 22h37
  3. Connexion avec Perl
    Par BARBIER dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 05/05/2004, 14h05
  4. Connexion avec interbase
    Par X Trips dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 30/03/2004, 13h15
  5. [WSAD5] Connexion avec une base Lotus
    Par mickey dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 11/03/2004, 08h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo