inscription dans HTML depuis MYSQL

Eléphanteau du PHP | 25 Messages

25 nov. 2021, 11:38

Bonjour,

La solution est très simple, mais à force d'être dessus, j'en perd mes moyens.

Cela ne s'affiche pas, pourquoi ?? une piste ?
J'ai une page sans affichage, la photo de fond est mise et rien d'autre ne se passe.
<body>
<?php
// établir la clef d'accès de la base de donnée
    $labdd = "alphanbf_marcovka";
    $pass = "*********";
    $database = "alphanbf_cee_db";
    $hostname = "localhost";
 $bdd = new PDO('mysql:host='.$hostname.';dbname='.$database, $labdd, $pass); // la clef est localisée ici
 $bdd -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //questionne la validité de la clef
 
 $requete = "SELECT * FROM examinee_tbl WHERE exmne_id = '?'"; // pioche dans la base de donnée les éléments de l'utilisateur
 $result = $bdd->query($requete); //on inscrit les éléments trouvés dans une variable
 
 if(!result){
     echo"récupération non faite";
 }else
 {
     $avatar = $row['avatar'];
     $name = $row['exmne_fullname'];
     $annee = $row['exmne_year_level'];
     $email = $row['exmne_email'];
 }
 
?>
	<div class="container">
		<div align="center">
            <h5>La personne que vous êtes</h5>
            <img src='/membres/avatar/<?php echo $avatar ?>' width="70"/>
        </div>
                <hr>
                    <h5><p>Bonjour,</br>
                    <p>Vous êtes, <?php echo $name ?> un élève d'Alphavit. Vous nous avez notifié que vous souhaitiez utiliser <?php echo $email ?> comme adresse courriel.<br>
                    Selon nous, vous étudiez en classe, <?php echo $annee ?> et nous ferons tout pour vous faciliter votre scolarité en renforçant votre niveau.</p>
                    </h5><br>
                    <h5><p>L'administration du collège.</p></h5>
	</div>

</body>
Modifié en dernier par clickern le 25 nov. 2021, 12:43, modifié 1 fois.

Mammouth du PHP | 1990 Messages

25 nov. 2021, 11:53

que donne cette requête exécutée dans phpmyadmin :
SELECT * FROM examinee_tbl WHERE exmne_id = ?
?

Eléphanteau du PHP | 25 Messages

25 nov. 2021, 11:56

Voici le journal des exécutions :

PHP Warning: include(conn.php): failed to open stream: No such file or directory in /home/alphanbf/public_html/cee/pages/manage-profile.php on line 8
PHP Warning: include(conn.php): failed to open stream: No such file or directory in /home/alphanbf/public_html/cee/pages/manage-profile.php on line 8
PHP Warning: include(): Failed opening 'conn.php' for inclusion (include_path='.:/opt/alt/php72/usr/share/pear') in /home/alphanbf/public_html/cee/pages/manage-profile.php on line 8
PHP Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '?' at line 1 in /home/alphanbf/public_html/cee/pages/manage-profile.php:31
Stack trace:
#0 /home/alphanbf/public_html/cee/pages/manage-profile.php(31): PDO->query('SELECT * FROM e...')
#1 {main}
thrown in /home/alphanbf/public_html/cee/pages/manage-profile.php on line 31

Mammouth du PHP | 1990 Messages

25 nov. 2021, 12:04

c'est une requête select. une requête select affiche ou non des données dans phpmyadmin.

Eléphanteau du PHP | 25 Messages

25 nov. 2021, 12:27

" SELECT is used to retrieve rows selected from one or more tables " : c'est un extrait du manuel. SELECT récupère depuis les tables d'une base, mais n'affiche rien dans les tables. Il n'y a pas d'écriture dans la base, ce n'est que de la lecture depuis les bases.

j'ai corrigé l'un des bugs, à présent j'ai ceci dans le journal :

PHP Notice: Undefined variable: row in /home/alphanbf/public_html/cee/pages/manage-profile.php on line 40
PHP Notice: Undefined variable: row in /home/alphanbf/public_html/cee/pages/manage-profile.php on line 41
PHP Notice: Undefined variable: row in /home/alphanbf/public_html/cee/pages/manage-profile.php on line 42
PHP Notice: Undefined variable: row in /home/alphanbf/public_html/cee/pages/manage-profile.php on line 43

ces lignes correspondent à :
$avatar = $row['avatar'];
$name = $row['exmne_fullname'];
$annee = $row['exmne_year_level'];
$email = $row['exmne_email'];
Cela veut dire qu'il n'y a pas de lecture. Mais pourquoi ?

Mammouth du PHP | 1990 Messages

25 nov. 2021, 16:52

if(!result){
echo"récupération non faite";
}else
{

comme cela n'affiche pas "récupération non faite", c'est que la requête, cette fois, a fonctionné. ensuite, il faut lire la doc pour trouver comment accéder aux champs de résultat.

Mammouth du PHP | 903 Messages

25 nov. 2021, 17:00

"Lisez bien la recette!" comme dirait Mercotte, AHAH ^^ (pâtissier OFF)

SI possible, faire des tests en local, les modifications seront prises en compte immédiatement, c'est mieux pour travailler. Pour une légère modif on peut faire depuis le FTP mais développer = local.

De plus ça t'aurais permis de pas mettre tes accès:
$labdd = "alphanbf_marcovka";
$pass = "*****";
$database = "alphanbf_cee_db";
$hostname = "localhost";