Php/oracle 9i

Bonjour a vous ,
je prépare un p fa ,sur la gestion d une bibliothèque avec php et oracle .
pour ma par la difficulté réside au niveau de la réservation je fais une recherche qui marche plutôt bien mais une fois que je désire faire la réservation d'un livre ,il m affiche un message coe quoi symbole non numérique rencontre a la place d un numérique et je vous avoue que cela me gonfle un peu simplement que sur ma table réservation je ne retrouve rien de tel .

je vous envoie la structure de la table reservation
date prêt not null date
numutilisateur not null number (38)
numouvrage notnull number (38)
dateannulation date
datereservation date
numreservation number notnull number(38)

et voici le code php

$conn=ocilogon("login","motdepasse","nombase");
if($conn){
$vtitre=$_post['titre'];
echo $vtitre;
$today=date("D/M/Y");

sesssion start ();
$vnum=$_session["numutilisateur"];
$query="select numouvragefrom ouvrage where titre ='vtitre';
$stmt=ociparse($conn,$query);
ociexecute($stmt);
$nrows = ocifetchstatement($stmt,$results);
if($nrows>0){
reset($results);
while($column=each($results)){
$data=$column['value'];
$vnumouvrage=$data[0];
}
}
ocifeetchstatement($stmt);
echo vnumouvrage;
if($vnumouvrage! = 0)
$query="insert into reservation values('12/12/1900','$vnum','$vnumouvrage','10/10/1989',1);
$ordre=ociparse($conn,$query);
ociexecute($ordre,oci_commit_on_succes);
}
}

warning:ociexecute(): OCIstmtExecute:ORA-1858 :caractere non numerique rencontré à la place d'un numerique

je travaille avec php4 et la base oracle 9i

merci de votre aide
Configuration: Windows XP
Firefox 3.0.11

3 réponses

  1. bonjour,

    merci ,effectivement ca marche .
    j ai du manipuler un tout petit peu le code au niveau de la date($today=date("D/M/Y"));
    ,le format n etait pas le mm que celui d'oracle.
    sans vous je crois je n aurai pas trouve cette piste .

    merci encore.
    1. Salut,
      <?php
      $connect = ocilogon("log",^pass","mon_instance");
      if ( ! $connect )
      {
      echo "Unable to connect: " . var_dump( OCIError() );
      die();
      }
      $vnum=4;
      $vnumouvrage=5560;
      $query="insert into reservation (datepret ,numutilisateur,numouvrage ,dateannulation ,datereservation ,numreservation) values (to_date('12/12/1900','DD/MM/YYYY'),$vnum,$vnumouvrage,to_date('10/10/1989','DD/MM/YYYY'),trunc(sysdate),2)"; 
      $stmt = ociparse($connect,$query);
      OCIExecute($stmt);
      
      ?>

      J'ai essayé cela et ca fonctionne chez moi...
      Tu peux tester?
      @+
      1. Salut,
        Tu as essayé de faire un to_date pour tes colonnes date?
        $query="insert into reservation values(to_date('12/12/1900','DD/MM/YYYY'),'$vnum','$vnumouvrage',to_date('10/10/1989','DD/MM/YYYY'),1); ";
        Il semble aussi que ta table a 6 colonnes, or tu insères 5 champs.....
        Voila quelques pistes!!
        @+
        1. bonjour ,
          merci bcp de votre aide mais il y a tjrs quelques choses qui coince
          la meme erreur
          $query="insert into reservation (to_date('12/12/1900','DD/MM/YYYY),'$vnum',$vnumouvrage',to_date('10/10/1989','DD/MM/YYYY'),'$today',seqres.nextval)";
          $ordre=ociparse($connection,$query);
          ociexecute($ordre,oci_commit_on_success);
          }

          }

          warning:ociexecute():ocistmtexecute:ora-01858:caractere non numerique rencontre a la place d un numerique

          alors la table reservation
          datepret not null date
          numutilisateur notnull number(38)
          numouvrage notnull number (38)
          dateannulation date
          datereservation date
          numreservation notnull number(38)

          merci encore pour ce que vous faites