[PHP] Vérifier existence d'un champs recordse

Bonjour

J'ai un script php qui interroge une base access en utilisant ADO. Tout fonctionne a merveille sauf pour la dernière fonction que j'essaie d'utiliser. Je dois vérifier si la valeur du champs de mon recordset existe bien.

Voici le code de la requete :
 $strSQL = "SELECT * FROM Table WHERE champs1 = $id AND champs2 = #$date#";
 $rs = $conn->execute($strSQL);
 $toto = $rs->Fields(0);


La requete s'effectue bien, mais parfois, et c'est normal, $rs->Fields(0) ne contient pas de valeur. Du coup quand j'affiche $toto j'obtient : Object ID #..

Que faire pour s'assurer que le champs contient une valeur?

Merci d'avance pour vos réponses.

Cordialement.

Sheraf

--
Sheraf
Configuration: IIS 5
PHP 5.1.4
MySQL
Access 2000

3 réponses

  1. Essai

    $rs = $conn->execute($strSQL);
    if ($rs)
    {
      if (!$rs->EOF)
      { 
        $toto = $rs->Fields(0);
      }
      else echo "Vide";
    
    }
    else echo "Erreur";


    Ca doit fonctionner : en tout cas c'est ce qu'ils disent sur

    http://phplens.com/phpeverywhere/adodb_french

    1. Salut,

      Merci pour ta réponse.

      J'ai essayé les if ($rs), empty et autres isset, ca ne change rien. Car bien qu'il m'affiche Object ID, lorsque je fais un calcul en utilisant ce fameux $rs->Fields(0), il fait comme si la valeur du champs était égale à zéro. Pourtant j'ai aussi essayé if ($rs == 0).

      J'imagine qu'il doit y avoir une façon spécifique de travailler sur ces enregistrement, mais je ne la connaît pas.

      Encore merci.

      Cdlt.
      1. Bjr

        j'utilise jamais ADO cependant il paraît logique de faire

        $rs = $conn->execute($strSQL);
        if ($rs)
        {
         $toto = $rs->Fields(0);
        }
        else echo "vide";