Salut
Y a truc que je comprend pas, avec la classe sql, c'est que je n'arrive pas à utiliser les tables innodb de ma base mysql, mais je n'ai aucun problème avec les myisam.
J'ai donc une table :
[sql]
CREATE TABLE `cle` (
`sid` varchar(32) NOT NULL default '',
`cle` varchar(36) NOT NULL default '',
KEY `cle` (`cle`)
) TYPE=InnoDB;[/sql]
J'ai créer un fichier cle.php, qui commence comme ça :
[php]
<?php
define('FORUM', TRUE);
$racine = '../';
include($racine . 'demarrage.php');
// On lance les sessions
$membre = recuperer_session();
[/php]
Ensuite j'ai ma fonction, qui fait très bien son job qui est de me générer un code '$pass' à 5 chiffres/lettres et de l'afficher.
Je veux enregistrer le résultat dans ma base de donnée :
[php]
$sql="INSERT INTO ".CLE_TABLE." VALUES('".$membre['session_sid']."', '".$pass."')";
if ( ! $bdd->requete($sql))
{
echo"bug";
}
[/php]
Mais rien ne se passe, pas même une erreur
Par contre, si j'emplois exactement le même script après avoir fait
[sql]ALTER TABLE `cle` TYPE = MYISAM[/sql]
ca marche sans problème.
Pourtant, j'ai installé le mod bannieres_aleatoires sur une table innodb, mais ça fonctionne parfaitement

Donc, je regarde une requette insert venant du mod bannieres_aleatoires pour comparer :
[php]
$sql="INSERT INTO ".BANNIERES_TABLE." VALUES('', '".addslashes($_POST['url_banniere'])."', '".addslashes($_POST['url_destination'])."', '".addslashes($_POST['description_site'])."', '".$_POST['emplacement']."')";
if ( ! $bdd->requete($sql) )
{
info($langue['info_titre'], sprintf($langue['er_update'], 'ajout_banniere'), __FILE__, __LINE__, $sql);
}
[/php]
Mais je ne vois aucune différence
Quelqu'un aurrait il une idée ?
Merci
