Message d'avertissement

The subscription service is currently unavailable. Please try again later.

Problème PDOException:

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Salut à tous,

J'ai créé un site pour une société disposant d'une base de donnée postgresql.
L'intérêt de ce site est d'alimenter cette bdd via deux formulaires.
J'ai créé un module pour faire ces formulaires.
Les données du formulaire sont, à la validation, enregistrées dans la bdd postgresl.

Globalement, les enregistrements se font sans problèmes
Mais il arrive par moment, que l'internaute se retrouve avec ce message :

Additional uncaught exception thrown while
handling exception.
Original
PDOException: SQLSTATE[42P01]: Undefined table: 7 ERREUR: La relation «cache_form»
n'existe pas: DELETE FROM {cache_form} WHERE (cid = :db_condition_placeholder_0) ; Array (
[:db_condition_placeholder_0] => form_form-njodydT7J6gRTTWXQG_yPsiNhEiJswzSozZwcxkWEjo
) in cache_clear_all() (line 168 of /data/www/includes/cache.inc).
Additional
PDOException: SQLSTATE[42P01]: Undefined table: 7 ERREUR: La relation «locales_source»
n'existe pas: SELECT s.lid, t.translation, s.version FROM {locales_source} s LEFT JOIN
{locales_target} t ON s.lid = t.lid AND t.language = :language WHERE s.source = :source AND s.context =
:context AND s.textgroup = 'default'; Array ( [:language] => fr [:source] => A field
which is not visible to the user, but is recorded with the submission. [:context] => ) in locale() (line 720 of
/data/www/modules/locale/locale.module).

N'ayant pas ce problème constamment, j'ai du mal à le débugger

Voici ma config settings.php :

$databases = array (
  'default' =>
  array (
    'default' =>
    array (
      'database' => 'bdd1',
      'username' => 'root',
      'password' => 'blablabla',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => 'dom_',
    ),
  ),
  'bdd_externe' =>
  array (
    'default' =>
    array (
      'database' => 'bdd2',
      'username' => 'userexterne',
      'password' => 'blabla',
      'host' => '172.78.65.34',
      'port' => '',
      'driver' => 'pgsql',
      'prefix' => '',
    ),
  ),
);

le submit du formulaire :

function modules_form_page_form_submit($form, &$form_state) {
    global $matiere;
   $mat="";
$rem="";

   try {
          db_set_active("bdd_externe");
/*  debut recherche d'id dans la base externe /
....requête select dans la bdd externe
/
fin recherche d'id */
$query=db_insert("client")
        ->fields(array(
"idclient"=>$id_client,
            "idagence"=>$idagence,
            "idusr"=>$idusr,
        "nom_ch"=>strtoupper($form_state["values"]["nom"]),
       "prenom_ch"=>$form_state["values"]["prenom"],
         "idcivilite"=>$form_state["values"]["civ"],
       "adresse1_ch"=>$form_state["values"]["adresse1"],
         "adresse2_ch"=>$form_state["values"]["adresse2"],
         "cp_ch"=>$form_state["values"]["cp"],
         "idville"=>$idville,
          "tel_ch"=>$tel,
       "email_ch"=>$form_state["values"]["email"],
       "idmodereg"=>1,
       "creat_da"=>date("Y-m-d"),
          "afnom_ch"=>$form_state["values"]["nom"],
         "afprenom_ch"=>$form_state["values"]["prenom"],
       "afidcivilite"=>$form_state["values"]["civ"],
         "afadresse1_ch"=>$form_state["values"]["adresse1"],
       "afadresse2_ch"=>$form_state["values"]["adresse2"],
       "afcp_ch"=>$form_state["values"]["cp"],
       "afidville"=>$idville,
        "rem_ch" => $rem,
       ));

      $last_id=$query->execute();
db_set_active("default");
} catch(Exception $e) {
     form_set_error("error","Un problème est survenu lors de l'enregistrement de vos données");
    }

}

Avez vous déjà rencontré ce problème?

merci pour votre aide

Forum : 
Version de Drupal :