Bonjour,

J'ai un soucis avec les insertions dans ma base de données, je suis capable d'inserer des données dans ma table Comptes et de les récupérer avec le select correspondant. Cependant lorsque je souhaite faire la même chose avec ma table Plans l'insertion s'effectue correctement mais le select ne me retourne rien.
Dans les deux cas c'est le même insert que j'ai copier / coller en modifiant les champs et c'est également le même select.

Code des deux tables :
Code PHP : 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
 
    $mdb2->query("CREATE TABLE Plans(     idPlan                   INTEGER          AUTOINCREMENT		PRIMARY KEY,
                                          libPlan                  VARCHAR(40),
                                          urlPlan                  VARCHAR(100))");
        if(PEAR::isError($mdb2)){
        echo 'Erreur dans la création de la table Plans : \n';
        die($mdb2->getMessage());
    }
 
    $mdb2->query("CREATE TABLE Comptes(   loggin                   VARCHAR(20),
                                          password                 VARCHAR(20),
                                          arretSignauxSonores      BOOLEAN)");
    if(PEAR::isError($mdb2)){
        echo 'Erreur dans la création de la table Comptes : \n';
        die($mdb2->getMessage());
    }

Voici le code php de l'insertion :
Code PHP : 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
20
21
 
<?php
require_once 'MDB2.php';
 
$mdb2 = MDB2::connect('sqlite:///maBase');
if(PEAR::isError($mdb2)){
    echo "Erreur de connexion : \n";
    die($mdb2->getMessage());
}
 
 
$insert = $mdb2->query("INSERT INTO Plans(libPlan, urlPlan) VALUES('Plan1', 'URL1')");
if(PEAR::isError($insert)){
	echo "Erreur dans le select";
	die($insert->getMessage());
}
 
$mdb2->disconnect();
 
echo "Insertion : ok !";
?>

Et le code du select :
Code PHP : 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
20
21
22
 
<?php
require_once 'MDB2.php';
 
$mdb2 = MDB2::connect('sqlite:///maBase');
if(PEAR::isError($mdb2)){
    echo "Erreur de connexion : \n";
    die($mdb2->getMessage());
}
 
$res = "";
$result = $mdb2->query("SELECT * FROM Plans");
if(PEAR::isError($result))
	die($result->getMessage());
 
while($row = $result->fetchRow(MDB2_FETCHMODE_ASSOC)){
	$res .= "\n?" . " " . $row['libPlan'] . " " . $row['urlPlan'];
}
echo "résultat : " . $res;
 
$mdb2->disconnect();
?>

Lorsque je remplace les champs par Comptes(loggin, password) cela insert bien ce que je tape et le select me les affiches. Lorsque c'est pour les Plans j'ai bien un "?" qui m'indique que quelque chose a été récupéré de la base de données mais la ligne ne contient que les deux espaces sensé séparer les données:
Si quelqu'un peut l’éclairé sur mon erreur qui doit être toute bête ...