Afficher un message d'erreur de saisie.

Rechercher

Afficher un message d'erreur de saisie.

Par LELOUC  -  1 reponse  -  Le 25/05/2020 22:48  -  Editer  - 

Bonjour,

J'ai bien un message dans mon code "ERREUR Requête invalide" mais il n'apparait pas lorsque suite à une erreur de saisie le retour est vide.

Merci de votre aide.

    <p><?php  
    $mysqli = new mysqli("localhost", "bdd", "mdp", "");  

    if ($mysqli->connect_errno) {  
      die('<p>Connexion impossible : '.$mysqli->connect_error.'</p>');  
    }  
    $nom = $_POST['nom'];  

    $result = $mysqli->query("SELECT * FROM conca2 WHERE recherche LIKE '%$nom%' LIMIT 0, 3000") ;  

    if (!$result) {  
      die('<p>ERREUR Requête invalide : '.$mysqli->error.'</p>');  
    }  

    for ($i=0 ; $i < $result->num_rows ; $i++) {  
      $row = $result->fetch_assoc() ;  
      $recherche = $row['recherche'] ;  
      echo '<p>'.$recherche.'</p>'."\r\n" ;  
    }  

    $result->free() ;  

    $mysqli->close() ;  
    ?>
 

Réponses apportées à cette discussion

Par Cyrano  -  Le 31/05/2020 14:27  -  Haut de page  - 

Salut,
je vais faire le même conseil que sur le sujet précédent : faire afficher la requête à l'écran telle qu'elle sera envoyée au serveur MySQL.

Ça veut dire d'abord de mettre cette requête dans une variable, ensuite la faire afficher avec un var_dump, ensuite seulement la faire exécuter en mettant la variable au lieu de la requête.

Schématiquement :

$requete = "SELECT ... etc...";
var_dump($requete);

$result = $mysqli->query($requete);

Et ensuite revenir avec le résultat affiché afin qu'on détecte une erreur.

Conseil pratique : faire des concaténation propres entre chaînes de caractères et variables. Donc, au lieu de :

$requete = "SELECT * FROM conca2 WHERE recherche LIKE '%$nom%' LIMIT 0, 3000";

Il faudra préférer :

$requete = "SELECT * FROM conca2 WHERE recherche LIKE '%". $nom ."%' LIMIT 0, 3000";

Ça peut éviter bien des problèmes inattendus dans des circonstances non-anticipées.

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |