SELECT exactmatch VS LIKE : résultat différent

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : SELECT exactmatch VS LIKE : résultat différent

Re: SELECT exactmatch VS LIKE : résultat différent

par ivanzo » 20 déc. 2016, 02:28

Oui c'était bien ça, un retour chariot que je n'avais pas vu en de champ. Merci.

Re: SELECT exactmatch VS LIKE : résultat différent

par or 1 » 19 déc. 2016, 17:11

possible qu'il y ait d'autres caractères comme des esapces dans le champ ip de la table. alors cela passe grâce aux % mais pas sans.

SELECT exactmatch VS LIKE : résultat différent

par ivanzo » 19 déc. 2016, 11:29

Bonjour,
je tente de résoudre un problème complètement incompréhensible pour moi (je suis néophyte en développement).

J'enregistre les ips des visiteurs dans une table ips_liste qui a cette structure :
id|ip|date|timestamp

le colonne ip est un varchar.

avec cette requête, l'ip de l'internaute est bien trouvée :
<?php
// connection BDD etc...

$result1 = $mysqli->query("SELECT ip FROM ips_liste WHERE ip LIKE '%".$_SERVER["REMOTE_ADDR"]."%'");
// Détermine le nombre de lignes du jeu de résultats
$nb_de_resultat_ip = $result1->num_rows;

if ($nb_de_resultat_ip > 0)
{
echo "IP existante en base";
}
?>
mais si j'effectue la même requête sans le LIKE, le SELECT ne fonctionne pas
<?php
// connection BDD etc...

$result1 = $mysqli->query("SELECT ip FROM ips_liste WHERE ip ='".$_SERVER["REMOTE_ADDR"]."'");
// Détermine le nombre de lignes du jeu de résultats
$nb_de_resultat_ip = $result1->num_rows;

if ($nb_de_resultat_ip > 0)
{
echo "IP existante en base";
}
?>
Merci pour votre aide, je sèche depuis des heures sur cet écueil.