mssql + php instructions préparées syntaxe incorrecte en utilisant%

J'ai ce petit extrait de code:

$sql .= " (cOriginalFilename LIKE %?%)"; 

et voici la requête complète:

 Select cMsgID, cDocType, cOriginalFilename, cSubAddress1, cRecipientID, cSenderID, cStatus, cStatusDateTime From tMessages Where (cOriginalFilename LIKE %?%) 

Message d'erreur exact:

Tableau ([0] => tableau ([0] => 42000 [SQLSTATE] => 42000 [1] => 102 [code] => 102 [2] => [Microsoft] [Pilote ODBC 11 pour SQL Server] [ SQL Server] Syntaxe incorrecte près de '@ P1'. [Message] => [Microsoft] [Pilote ODBC 11 pour SQL Server] [SQL Server] Syntaxe incorrecte près de '@ P1'.))

Comme vous pouvez le voir, il prépare une instruction, mais il me donne une erreur de syntaxe invalide. Lorsque je supprime le% s cela fonctionne. Comment dois-je modifier la syntaxe pour travailler avec les% s? Je n'ai trouvé aucune information sur ce sujet.

note: Ceci est php et mssql

Vous êtes proche – les caractères generics % ont juste besoin d'être cités pour cela:

 Select cMsgID, cDocType, cOriginalFilename, cSubAddress1, cRecipientID, cSenderID, cStatus, cStatusDateTime From tMessages Where (cOriginalFilename LIKE '%' + ? + '%') 

Les signes% doivent être placés dans la variable que vous affectez au paramètre, plutôt que dans la requête.