Salut à tous,

j'ai un problème avec une requête dans PHP.

En gros, voici le code concerné :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
$navire = $_POST['navire'];
  $eta = $_POST['eta'];
  $voyage = '%'.$_POST['voyage'].'%';
  $nom_fichier='%'.$_SESSION['nom_fichier'].'%';
 
$query1 = 'SELECT distinct NAV.CODE,ESC.EXNAV,ESC.EIESC,ESC. EDPDE,ESC.ENVOY,ESC.EDPAR,ESC.EDDEP,TIERS.TLNOM,TIERS.TITIE FROM SERVAL.dbo.BRUT_ESCALE_R ESC JOIN SERVAL.dbo.BRUT_TIERS_R TIERS ON ESC.EITIE=TIERS.TITIE COLLATE FRENCH_CI_AS JOIN MANSYDSER.dbo.FICHIER_DOUANE DOUANE ON DOUANE.champ7 LIKE '.'%'.'ESC.EXNAV'.'%'.' OR ESC.EXNAV LIKE '.'%'.'DOUANE.champ7'.'%'.' COLLATE FRENCH_CI_AS LEFT JOIN  MANSYDSER.dbo.TRANSCO_NAVIRE NAV ON NAV.LIBELLE=DOUANE.champ7 COLLATE FRENCH_CI_AS where DOUANE.nom_fichier like :fichier AND ESC.EXNAV like :navire AND ESC.ENVOY LIKE :voyage';
 
$sth=$dbh1->prepare($query1);
$sth->execute(array('fichier'=>$nom_fichier,'navire'=>$navire,'voyage'=>$voyage));
$result = $sth->fetchAll();
Mais la requête dans $query1 ne fonctionne pas comme je l'espérais (en jouant avec "LIKE" et "%").

Par contre quand j'écris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$query0 = 'SELECT distinct NAV.CODE,ESC.EXNAV,ESC.EIESC,ESC. EDPDE,ESC.ENVOY,ESC.EDPAR,ESC.EDDEP,TIERS.TLNOM,TIERS.TITIE FROM SERVAL.dbo.BRUT_ESCALE_R ESC JOIN SERVAL.dbo.BRUT_TIERS_R TIERS ON ESC.EITIE=TIERS.TITIE COLLATE FRENCH_CI_AS JOIN MANSYDSER.dbo.FICHIER_DOUANE DOUANE ON DOUANE.champ7=ESC.EXNAV COLLATE FRENCH_CI_AS LEFT JOIN  MANSYDSER.dbo.TRANSCO_NAVIRE NAV ON NAV.LIBELLE=DOUANE.champ7 COLLATE FRENCH_CI_AS where DOUANE.nom_fichier like :fichier AND ESC.EXNAV like :navire AND ESC.ENVOY LIKE :voyage';
ça marche correctement.
Mais étant donné que j'ai à faire das chaines de caractères qui ne sont pas toujours identiques je ne peux pas me permettre d'utiliser une égalité parfaite dans la requête !

Quelqu'un peut-il m'aider svp ?!