Ce qui me fait penser que bien que pdo soit chargé, les drivers ne le sont pas. (il s'agit peut-être d'une particularité, mais ça m'étonne).pdo_sqlite
PDO Driver for SQLite 3.x enabled
PECL Module version 1.0.1 $Id: pdo_sqlite.c,v 1.10.2.6.2.2 2007/03/23 14:30:00 wez Exp $
SQLite Library 3.3.17undefined
A moins que tu ne comptes faire un code qui doit pouvoir s'adapter à plusieurs DB's, c'est plus simple de passer par le module sqlite intégré à php5 (petit lien).Echec de la connexion :could not find driver
Fatal error: Call to a member function query() on a non-object in D:\www\azuracd.fr\htdocs\class\MyPDO.class on line 32
try{
$this->oDbConnection=new PDO('sqlite2:./Db/MyDb.sql');
}catch (Exception $e){
echo 'Echec de la connexion :'.$e->getMessage();
}
je n'ai plus aucun message d'erreur concernant les drivers.par contre rien ne s'affiche??
Notice: Use of undefined constant F1_AMIANTE_TTC - assumed 'F1_AMIANTE_TTC' in D:\www\azuracd.fr\htdocs\inc\ContenuPageSansFormulaire.inc on line 35
Notice: Use of undefined constant F1_CARREZ_TTC - assumed 'F1_CARREZ_TTC' in D:\www\azuracd.fr\htdocs\inc\ContenuPageSansFormulaire.inc on line 35
Notice: Use of undefined constant F1_DPE_TTC - assumed 'F1_DPE_TTC' in D:\www\azuracd.fr\htdocs\inc\ContenuPageSansFormulaire.inc on line 35
Notice: Use of undefined constant F1_GAZ_TTC - assumed 'F1_GAZ_TTC' in D:\www\azuracd.fr\htdocs\inc\ContenuPageSansFormulaire.inc on line 35
Notice: Use of undefined constant F1_PLOMB_TTC - assumed 'F1_PLOMB_TTC' in D:\www\azuracd.fr\htdocs\inc\ContenuPageSansFormulaire.inc on line 35
Notice: Use of undefined constant F1_NSH_TTC - assumed 'F1_NSH_TTC' in D:\www\azuracd.fr\htdocs\inc\ContenuPageSansFormulaire.inc on line 35
Notice: Use of undefined constant F1_TERMITE_TTC - assumed 'F1_TERMITE_TTC' in D:\www\azuracd.fr\htdocs\inc\ContenuPageSansFormulaire.inc on line 35
Notice: Use of undefined constant F1_AMIANTE_TTC - assumed 'F1_AMIANTE_TTC' in D:\www\azuracd.fr\htdocs\inc\ContenuPageSansFormulaire.inc on line 37
public function ShowTableUnderSelectBox($NomChamp,$Table,$NameOfSelect,$CssOfSelect,$NameOfOption1){
global$fTextShowTable;
$fTextShowTable='<select name="'.$NameOfSelect.'" id="'.$NameOfSelect.'" class="'.$CssOfSelect.'"><option>'.$NameOfOption1.'</option>';
$oPDOStatement=$this->oDbConnection->query("SELECT $NomChamp FROM $Table");
if($oPDOStatement!==FALSE){
while($aRow=$oPDOStatement->fetch()){
$fTextShowTable.='<option>'.$aRow[$NomChamp].'</option>';
}
}
$fTextShowTable.='</select>';
$oPDOStatement=NULL;
return $fTextShowTable;
}
public function Definition($sTable,$sNomDuDefineTtc){
$oPDOStatement=$this->oDbConnection->query("SELECT PrixTtc from $sTable WHERE idPiece='1' ");
if($oPDOStatement!==FALSE){
while($aRow=$oPDOStatement->fetch()){
define($sNomDuDefineTtc,$aRow['PrixTtc']);
}
}
$oPDOStatement=NULL;
return TRUE;
}
la premiere fonction me sert pour tous les select box du site internet et tu verra dans une page de celle-ci qu'il ne propose rien
Vérifier si elle n'est pas déjà définie avant de vouloir la définir serait la marche à suivre, à mon avis. (c'est un peu lourd, mais c'est le prix des constantesNotice: Constant F1_ERNT_TTC already defined in D:\www\azuracd.fr\htdocs\class\MyPDO.class on line 35
Code : Tout sélectionner
insert into matable (nom,adresse,profession) values ("josé","pas loin","agriculteur)Code : Tout sélectionner
CREATE TABLE enumereclientinternet (
IdClient INTEGER NOT NULL PRIMARY KEY,
TypeDemande text NOT NULL ,
DesignationClient varchar(100) NOT NULL ,
MailClient varchar(20) NOT NULL ,
TelClient char(10) NOT NULL
);try{
$oPDOStatement=$this->oAccesBase->prepare("INSERT INTO ".NOM_TABLE_CLIENT." (TypeDemande,DesignationClient,MailClient,TelClient) VALUES (?,?,?,?)");
$oPDOStatement->bindValue(1,TYPE_DEMANDE_DEVIS);
$oPDOStatement->bindValue(2,$this->sClient);
$oPDOStatement->bindValue(3,$this->sAdresseMailClient);
$oPDOStatement->bindValue(4,$this->iTelClient);
$oPDOStatement->execute();
$this->oAccesBase=NULL;
}
catch (PDOException $e){
echo 'erreur'.$e->getMessage();
include(PIED_DE_PAGE);
}
je n'obtiens aucun message d'erreur mais ma table ne se remplit pas.Je ne comprend spas mon erreur.Merci d'avance.
try{
$oConnection=new PDO("sqlite2:".MY_DATA_BASE);
$oPDOStatement=$oConnection->prepare("INSERT INTO ".NOM_TABLE_CLIENT." (TypeDemande,DesignationClient,MailClient,TelClient) VALUES (?,?,?,?)");
if ($oPDOStatement === FALSE ){
throw new Exception ('la preparation de la requete n\'a pas marché');
}else
{
$oPDOStatement->bindValue(1,TYPE_DEMANDE_CONTACT);
$oPDOStatement->bindValue(2,$aData['Nom-Prenom']);
$oPDOStatement->bindValue(3,$aData['Email']);
$oPDOStatement->bindValue(4,$aData['Telephone']);
if ($oPDOStatement->execute()===FALSE ){
throw new Exception('l\'exectution de la requete preparé ne s\'est pas fait correcxtement');
}else{
$oConnection=NULL;
}
}
}
catch (PDOException $e){
echo 'erreur'.$e->getMessage();
}
Cette fois je croyais obtenir tous les messages d'erreurs possibles mais il ne se passe toujours rien.Meme pas un message pour m'aiguiller ??