Bonjour
Je rencontre un problème pour lancer une procédure stockée SQL Server 2005, comportant une variable date et une datetime, depuis du PHP.
Mon code est le suivant :
La connexion n'est pas le problème. J'utilise déjà la même forme de code pour lancer d'autres procédures stockées sur le même serveur, mais qui n'ont accessoirement pas de date/datetime dans les paramètres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 // Connexion au serveur TVM (SQL Serveur) : $username="xxxxxx"; // Représente le user sur la base $password="xxxxxx"; // Représente le password $bd="xxx"; // Représente le nom du driver ODBC pour SQL Server $server="xx.xxx.xxx.xxx"; $connexionTVM = odbc_connect("Driver={SQL Server};Server=$server;Database=$bd;",$username,$password); $a = 'A'; $b = 'KH001M'; $c = '"10/17/12"'; $d = '"10/17/12 06:30:00 AM"'; $e = 'GVA'; $f = ''; $g = ''; $h = ''; $stmt = odbc_prepare($connexionTVM, "{CALL My.Procedure($a, $b, $c, $d, $e, $f, $g, $h)}"); $res = odbc_execute($stmt, array()) or die("<B>Error!</B> Couldn't Run Query: Error Code: ".odbc_error());
L'erreur Odbc que j'ai : 37000 (via mon odbc_error())
J'ai déjà essayé plusieurs format de date, dont unix et yyyy-mm-dd hh:ii. J'ai rajouté un double guillemet car sinon j'ai l'erreur 37000 qui me pointe une erreur de syntaxe soit au niveau des "/" soit des "-" (Warning: odbc_execute(): SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Syntaxe incorrecte vers '/'., SQL state 37000 in SQLExecute in blabla on line 28 --> erreur donnée sans le odbc_error())
Auriez-vous une idée sur ce qui bloque le lancement de la procédure ?
Merci pour votre aide
Flacdo
Partager