Salut à tous,
Je suis entrain de m'essayer à l'optimisation de mon code php sql-server 2005.
Pour ce faire j'essaye de mettre les parties de requetes sql commune dans une fonction et à partir d'une codition d'y ajouter la condition where qui vas bien. Cependnant j'ai une erreur de syntaxe et je n'arrive pas à la trouver quelqu'un pourrait-il m'aider?

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
21
function recherche_contact($nom=null, $entreprise=null){
		$sql = "SELECT 	CONTACTS.[ID_CONTACT]
							,CONTACTS.[NOMCONTACT]
							,CONTACTS.[PRENOMCONTACT]
							,CONTACTS.[MAILPRO]
							,CONTACTS.[MAILPERSO]
							,CONTACTS.[TELPORT]
							,CONTACTS.[TELFIXE]
							,CONTACTS.[FAX]
							,STATUTS.[STATUT]
							,ENTREPRISE.[NOMENTREPRISE]
						FROM ([BDD_TOOL_V2].[dbo].[STATUTS] JOIN [BDD_TOOL_V2].[dbo].[CONTACTS] ON CONTACTS.[ID_STATUT] = STATUTS.[ID_STATUT])
															JOIN [BDD_TOOL_V2].[dbo].[ENTREPRISE] ON CONTACTS.[ID_ENTREPRISE] = ENTREPRISE.[ID_ENTREPRISE]'";
						if($entreprise != null){
							$sql = $sql."' WHERE ENTREPRISE.[NOMENTREPRISE] = '".$entreprise."'";
						}
						else{
							$sql = $sql."'WHERE CONTACTS.[NOMCONTACT] LIKE '".$nom."%'";
						}
return $sql;
}
erreur generé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Warning: odbc_do() [function.odbc-do]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Syntaxe incorrecte vers ''., SQL state 37000 in SQLExecDirect in C:\wamp\www\test_v3.0\Controleur\controleur_recherche_contact.php on line 34
37000
Merci de votre aide