Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > ORM
ORM Mapper de bases de données écrit en PHP qui transforme les résultats de requêtes SQL en objets (ORM).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/06/2011, 07h27   #1
Membre du Club
 
Inscription : mai 2009
Messages : 234
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 234
Points : 53
Points : 53
Par défaut MDB_QueryTool : Ajout de champs impossible

Bonjour,

Cela fait plusieurs heures que je suis bloqué avec ce bout de code qui refuse de marché :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
 
class AjaxProcess{
   /**
 
   * Fonction permettant d'ajouter des scores de joueur en BDD.
 
   * @static
 
   * @param array $args Tableau de paramètre (obligatoire uniquement si l'utilisateur n'a pas appellé la fonction saveOnSession() avant celle-ci).
 
   * @return mixed
 
   */
 
   static function addScore($args){
 
      // Instantiation de la variable de retour par défaut
 
      $return  = false;
 
      $args    = (!empty($args) && count($args)==2) ? $args : null;
 
      if(self::saveOnSession($args)){ // Cette fonctions met juste en session l'argument $args et return true si cela a bien été fait (dans mon cas true)
         // Instantiation des variales a utiliser
 
         $pseudo = isset($_SESSION['pseudo'])   ? $_SESSION['pseudo']   : null;
 
         $scores = isset($_SESSION['score'])      ? $_SESSION['score']      : null;
 
 
 
         // Test valeur
 
         if(!empty($pseudo) && !empty($scores)){
 
            // Instantiation et initialisation de l'objet ORM
 
            $tableScores = new Scores();
 
            $tableScores->reset();
 
 
 
            // Insertion
 
            $newScore = $tableScores->newEntity();
 
            $newScore->pseudo = "$pseudo";
 
            $newScore->score  = (int) $scores;
 
            // Que je fasse sans définir le champ date, ou avec l'une des proposition ci-dessus, même problème. A noter, le champ date à pour valeur par défaut "now()" qui est la date actuel
            //$newScore->date = "now()";
 
            //$newScore->date = date("Y-m-d");
 
            //$newScore->date = null;
 
            //$newScore->date = "";
 
 
            // Modification de la valeur de retour
 
            $return = $newScore->save();
 
            var_dump($return); // False !
         }
 
      }
 
      return $return;
   }
 
// [...] Fin classe
}
La classe score est une classe ORM :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 
<?php
// Définition de la racine
$racine = "../";
$racineConfig = $racine."config/";
 
// Instantiation des paramètres, inclusions des fichiers requis, démarrage de la session
@include_once $racineConfig."init.php";
 
/**
 * Cette constante définit la table liée à la classe.
 */
define('TABLE_SCORES', 'scores');
 
/**
 * Classe de gestion de la table scores dans la base de données.
 */
class Scores extends MDB_QueryTool{
   /**
    * Définit la table en lien avec la classe
    * @var string 
   */
   var $table = TABLE_SCORES;
 
   /**
    * Définit la sequence pour la table
    * @var string
    */
   var $sequenceName = TABLE_SCORES;
 
   /**
    * Définit la clé primaire de la table en lien avec la classe
    * @var string 
    */
   var $primaryCol = 'score_id';
 
   /**
    * Construit l'objet voulu en appelant le constructeur du parent MDB_Querytool
    */
   public function __construct(){
      parent::__construct(Config::$dsn, Config::$optionsDbConnect, Config::$versionMdb);
      parent::useResult('object');
   }
 
   /**
    * Définit un nom court pour la table
    * @var array
    */
   var $tableSpec = array(
      array('name' => TABLE_SCORES, 'shortName' => 'scores')
   );
}?>
Impossible de sauvegarder quoi que ce soit... HEEEEEEEEELP !

Merci d'avance...
__________________
Ce n'est pas parce qu'un chemin prends la direction que l'on souhaite qu'il mène où l'on veut...
Trouver des inconvénients à Micro$oft, c'est comme faire une division par zéro, c'est infini...
FotoXe33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h23.


 
 
 
 
Partenaires

Hébergement Web