[RESOLU] "LIKE" ne fonctionne plus après passage 5.4 ?

JLV
Invité n'ayant pas de compte PHPfrance

03 juil. 2014, 12:03

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

JLV
Invité n'ayant pas de compte PHPfrance

03 juil. 2014, 12:13

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' ";

ViPHP
xTG
ViPHP | 7331 Messages

03 juil. 2014, 13:41

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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

03 juil. 2014, 14:37

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).

@+
Il en faut peu pour être heureux ......