En utilisant le nouveau protocole binaire de MySQL 4.1 et plus
        récent, vous pouvez envoyer et recevoir les données de type
        (DATE, TIME,
        DATETIME et TIMESTAMP)
        avec la structure MYSQL_TIME. Les membres de
        cette structure sont décrits dans
        Section 24.2.5, « Types de données de l'API C ».
      
        Afin d'envoyer les données, il faut utiliser une requête
        préparée avec la fonction mysql_prepare().
        Avant d'appeler la fonction mysql_execute(),
        pour exécuter la commande, utilisez la procédure suivante pour
        préparer chaque donnée :
      
            Dans la structure MYSQL_BIND, associée
            aux données, assignez au membre
            buffer_type le type de données que vous
            envoyez. Pour DATE,
            TIME, DATETIME, ou
            TIMESTAMP, utilisez
            buffer_type
            MYSQL_TYPE_DATE,
            MYSQL_TYPE_TIME,
            MYSQL_TYPE_DATETIME, ou
            MYSQL_TYPE_TIMESTAMP, respectivement.
          
            Donnez au membre buffer de la structure
            MYSQL_BIND, l'adresse de la structure
            MYSQL_TIME dans laquelle vous avez
            stocké votre valeur temporelle.
          
            Remplissez les membres de la structure
            MYSQL_TIME qui sont adaptés au type de
            données que vous passez.
          
        Utilisez mysql_bind_param() pour lier les
        données à la requête. Puis, appelez
        mysql_execute().
      
        Pour lire des données temporelles, la procédure est similaire,
        hormis le fait que vous donnez au membre
        buffer_type le type de donnée que vous
        attendez, et que buffer doit pointer sur
        l'adresse de la structure MYSQL_TIME qui va
        recevoir les données retournées. Utilisez
        mysql_bind_results() pour lier les buffers à
        la commande après avoir appelé
        mysql_execute() et avant de lire les
        résultats.
      
        Voici un exemple qui réalise l'insertion de données
        DATE, TIME et
        TIMESTAMP. La variable
        mysql est supposée représenter une
        connexion valide.
      
MYSQL_TIME  ts;
MYSQL_BIND  bind[3];
MYSQL_STMT  *stmt;
  
  strmov(query, "INSERT INTO test_table(date_field, time_field,
                                        timestamp_field) VALUES(?,?,?");
  stmt= mysql_prepare(mysql, query, strlen(query))); 
  /* configure les trois buffers pour les trois paramètres */
  bind[0].buffer_type= MYSQL_TYPE_DATE;
  bind[0].buffer= (char *)&ts;  
  bind[0].is_null= 0;
  bind[0].length= 0;
  ..
  bind[1]= bind[2]= bind[0];
  ..
  mysql_bind_param(stmt, bind);
  /* Fournit les données à envoyer dans la structure ts */
  ts.year= 2002;
  ts.month= 02;
  ts.day= 03;
  ts.hour= 10;
  ts.minute= 45;
  ts.second= 20;
  mysql_execute(stmt);
  .. 
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

