php et access

Répondre
lebdenat
le 23/03/2005 à 13:13
lebdenat
salut à vous et merci pour l'espace que vous nous reservez pour nous les amateurs du php. Voilà mon pb : je réussis à me connecter à une base de données MS access en local et je veux supprimer des enregistrements dont mais le critère porte sur une variable date. La voilà :
"delete * FROM ACHAT where Date='$olddate'"
A ma grande surprise, il s'affiche ce message d'erreur :
"Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Type de données incompatible dans l'expression du critère., SQL state 22005 in SQLExecDirect in c:\program files\easyphp1-7\www\gestfour\compte\client\infos_dep\valid.php on line 63"
Please, si quelqu'un a une idée de mon erreur, qu'il me fasse signe car je galère dessus depuis deux jours.
Merci d'avance.
lebdenat
zebden
le 23/03/2005 à 16:23
zebden
Je connais pas bien access mais vu le message , le type de donnée est donc incompatible ,
je suppose que ta date est de type timestamp donc numerique et access est strict la dessus il ne faut rien pour delimiter une chaine de type numérique.

Sinon montre ce que vaut $olddate.
zebdinou pour les intimes / Blog : http://www.zebden.fr
lebdenat
le 25/03/2005 à 10:59
lebdenat
Voilà ce qui se passe :
-L'utilisateur entre des données dans un champ texte dans le fichier form.php dont voici le code
//===========================================================
echo '<form name="infos_dep" method="GET" action="valid.php">';
echo '<table width=100% height=100% border=1>';
//Le champ texte
echo '<tr><td align="center" width=40%>Date d\'achat</td><td align="left"><input type="text" name="olddate" size="20" value="">';
echo '</td></tr></table>';
//le bouton submit
echo '<table width=100% border=1><tr><td colspan="2" align="center"><input type="reset" value="annuler">&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="modifier"></td></tr></table>';
echo '</form>';
//===========================================================

-Je récupère la date qu'il a inséré dans la fichier valid.php et j'exécute ma requête (à la ligne 63):
//===========================================================
$olddate = $_GET['olddate'];
//Je passe sur la connexion à la base de donnée : sans problèmes!!!
$req = "DELETE * FROM ACHAT where Date = '$olddate'";
$suppr = odbc_exec ($connexion,$req);
//===========================================================


Quand j'appuie sur le submit, eh bien le message apparaît!!!


"Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Type de données incompatible dans l'expression du critère., SQL state 22005 in SQLExecDirect in c:\program files\easyphp1-7\www\gestfour\compte\client\infos_dep\valid.php on line 63"
lebdenat
lebdenat
le 26/03/2005 à 19:32
lebdenat
Bon voilà la solution : remplacer les griffes par les dièzes.

$req = "DELETE * FROM ACHAT where Date = #$olddate#";

En tout cas merci de m'avoir aidé.
lebdenat
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours