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 ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 résultat : ? ?
Partager