Requête SQL

Résolu
blasterofmetal Messages postés 416 Date d'inscription   Statut Membre Dernière intervention   -  
blasterofmetal Messages postés 416 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je n'arrive pas à trouver d'ou vient le problème :
J'ai une table movies qui contient des films, je souhaite faire une requête select toute simple de l'ID d'un film quand son titre est égal à une variable.

Voici mon code :

$this->sth = $this->bdd->prepare("SELECT MOV_ID FROM movies WHERE upper(MOV_TITLE) = upper(?);");
$this->sth->execute(array($title));


Lorsque je recherche "The blues brothers", il ne me le trouve pas mais lorsque je cherche "Django" il me le trouve. On dirait qu'il ne prend en compte que le premier mot ...

Quelqu'un sait d'où ça peut venir ?
Merci

2 réponses

Utilisateur anonyme
 
Bonjour

A priori, la requête est correcte, c'est probablement ta manière de récupérer $title qui pose un problème.
En particulier, si tu récupères cette valeur à partir d'une OPTION avec un value = sans quotes, tu ne récupères que le premier mot.
Fais-tu
<OPTION value=The blues brothers>
ou
<OPTION value="The blues brothers">
?

As-tu fait un echo ($title) pour voir ce qu'il y a réellement dedans ?
0
blasterofmetal Messages postés 416 Date d'inscription   Statut Membre Dernière intervention   65
 
Bonjour,

Ton idée était bonne mais je viens tout juste de trouver l'erreur ( comme quoi, la nuit porte conseil )
En fait mon erreur était une erreur de logique pas de code. En fait mon algorithme est simple :
je recherche un nom de film, le script recherche dans ma base de donnée si le film y est et si il n'y est pas, il tape la base de donnée d'allociné et rempli ma base.
Le fait est que je remplissait ma table avec les nom de films de allociné et non pas ceux que je tapais. Et en tappant "Blues Brothers", il me ressortait "The Blues Brothers" ce qui n'est pas la même chose !

Merci tout de même du temps que tu as bien voulu me consacrer !
0