Page 1 sur 1

"LIKE" ne fonctionne plus après passage 5.4 ?

Posté : 03 juil. 2014, 12:03
par JLV
Bonjour,

J'ai dû migrer en php 5.4 et un de mes sites en php en fonctionne plus, à savoir la ligne
$sql = "SELECT * FROM Catalogue WHERE titre LIKE '$ident' ";
qui ne retourne plus rien (pas d'erreurs mais pas de données non plus)

Ce n'est pas un problème de connexion à la base mysql car la ligne
$sql = "SELECT * FROM Catalogue ORDER BY date_parution DESC LIMIT 4 ";
fonctionne toujours ; les deux commandes partageant le même script "connect.php"

Quelqu'un aurait-il une idée ? est-ce "WHERE" ou "LIKE" qui posent problème ?

Par avance merci...

JLV

Re: "LIKE" ne fonctionne plus après passage 5.4 ?

Posté : 03 juil. 2014, 12:13
par JLV
Désolé je viens de trouver la réponse (en même temps cela peut servir à d'autres)

il faut ajouter "$ident = $_GET['ident'];", ce qui donne au final

$ident = $_GET['ident'];
$sql = "SELECT * FROM Catalogue WHERE ISBN LIKE '$ident' ";

Re: "LIKE" ne fonctionne plus après passage 5.4 ?

Posté : 03 juil. 2014, 13:41
par xTG
Il faudrait surtout ajouter une fonction de protection de la variable injectée dans la requête.
Sinon bonjour les injections SQL. ;)

Mysql => mysql_real_escape_string() (Note : le driver mysql est abandonné et il est préférable de migrer vers l'un des suivants)
Mysqli => mysqli_real_escape_string()
PDO => PDO::quote() ou requête préparée

Re: "LIKE" ne fonctionne plus après passage 5.4 ?

Posté : 03 juil. 2014, 14:37
par moogli
Modération :
Puisque ta question est résolue, je l'indique en cliquant sur le bouton "Mettre le sujet en tant que Résolu" pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.

Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert situé en haut de la page à côté du titre, si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)


de plus la suppression de register globals est "le truc" de php 5.4, il est important de lire les informations de version, php propose aussi des infos pour migrer d'une version à une autre.
Il a y a de forte chance que tu ai ce problème autre part avec un formulaire, session, cookie (enfin bref tous ce qui provient d'une super globale).

@+