voila j'ai besoin de me connecter a une base de donnée Access et donc j'utilise un driver odbc.
Or j'ai l'erreur SQL suivante:
Code : Tout sélectionner
odbc_exec() [<a href='function.odbc-exec'>function.odbc-exec</a>]: SQL error: [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression., SQL state 22005 in SQLExecDirectVoila la structure de mes tables:
Table people (MySQL):
_'cardNum' varchar(20)
Table tblCards (MS Access):
_'strCardIdentity' type string
_'lngCardnumber' type long
Table tblEmployee (MS Access):
_'lngProxCard' type long
_'intStatus' type int
et voila mon code:
$ben = new Mysql();
$ben->connect();
//selection du numéro de carte
$ben->sendQuery('SELECT id,cardNum FROM people order by firstname');
//...
//tant que ya des employés
while($staff = $ben->fetchQuery())
{
$card = new Odbc();
$card->connect();
$cardNum = $staff['cardNum'] ;
//fait la correspondance entre le numéro de la carte et celui de l'employé
$card->sendQuery('SELECT lngCardnumber FROM tblCards WHERE strCardIdentity=\''.$cardNum.'\'');
//s'il a trouvé la carte
if($cardId = $card->display('lngCardnumber')) {
$status = new Odbc();
$status->connect();
//s'il ne trouve pas d'employé correspondant au numéro de carte
if(!$status->sendQuery('SELECT intStatus FROM tblEmployee WHERE lngProxCard=\''.$cardId.'\'')) {
//status inconnu = -1
$xml .= ' status="-1"';
}
else {
//s'il a trouvé, affiche le status (1 ou 0)
$xml .= ' status="'.$status->display('intStatus').'"';
}
$status->close();
}
//s'il a pas trouvé le numéro de carte
//status inconnu = -1
else {
//$xml .= ' status="-1"';
}
$card->close();
}
//...
Je sais pas si quelqu'un a repéré quelque chose?merci beaucoup d'avance