Problème SQL dans PHP

Résolu
Bonjour,
Voilà j'essaie de fournir une requête SQL dans mon code PHP, alors voici mon code dans un premier temps (je passe tout ce qui est connexion avec la base car cela fonctionne

$sqldate = 'SELECT content_filename, date_and_time FROM stats_reader_dental WHERE date_and_time = "2014-06-10 11:35:32" AND sender_mail = "*******@hotmail.fr"';
$reqdate = mysqli_query($db, $sqldate);
while($date = mysqli_fetch_assoc($reqdate)){
$message .= $date["content_filename"].' : '.$date["date_and_time"].'<br />';//: '.$client["client"].'
}

Dans ma commande SQL si je ne mets pas le AND et ce qu'il y a après, celle ci fonctionne, mais lorsque je mets le AND elle ne fonctionne plus....

voici l'erreur : mysqli_fetch_assoc() expects parameter 1 to be mysqli_result

Merci d'avance pour votre aide

1 réponse

  1. Salut,

    Le message d'erreur que tu nous donnes ne correspond pas à ton erreur sql. Si tu veux afficher ton erreur sql, tu dois vérifier le retour de la fonction mysqli_query.

    Enfin en mysql on conseille d'éviter les guillemets double, utilises les guillemets simple à la place.

    Tu peux essayer comme ceci :
    $sqldate = "SELECT content_filename, date_and_time FROM stats_reader_dental WHERE date_and_time = '2014-06-10 11:35:32' AND sender_mail = '*******@hotmail.fr'";
    
    $reqdate =  mysqli_query($db, $sqldate);
    
    // on vérifie que la requête sql s'est bien exécutée
    if ($reqdate === false) {
     echo 'Erreur sql : ' . mysqli_error($db);
     exit();
    }
    
    while($date = mysqli_fetch_assoc($reqdate)){ 
        $message .= $date["content_filename"] . ' : ' . $date["date_and_time"] . '<br />';
    }
    


    Bonne journée
    1. Merci pour ta réponse, mon erreur SQL est qu'il ne reconnait pas la colonne sender_mail, je comprends pas trop car dans une autre requête il l'a détecte. Je vais essayer de résoudre ça, merci de ton aide.
    2. Bonjour

      @ Pitet : petite remarque :
      tu as inversé l'ordre des paramètres de mysqli_query,
      Tu confonds avec mysql
      pour mysqli, c'est bien cet ordre :
      https://www.php.net/manual/fr/mysqli.query.php
      D'ailleurs, ça ne marcherait pas mieux sans le AND si c'était ça le problème.
    3. Effectivement en procédurale c'est bien la ressource de connexion en premier paramètre. Bien vu ;)
    4. Je passe le cas en RESOLU :)