Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883

    query php mysql con istruzione between and

    volevo creare una query prepared statmens che mi estraesse dei record in un certo intervallo di tempo
    ho scritto:

    Codice PHP:
    $query "SELECT cognome, nome, data_visita FROM medico_paziente, paziente " 
                 
    "WHERE id = ? AND data_visita between ('?') AND ('?')";

    if (
    $stmt $mysqli->prepare($query)) {

            
    $stmt->bind_param("idd"$id$primo_giorno$ultimo_giorno);
        
            
    $stmt -> execute();
            
            
    $stmt->bind_result($cognome$nome$data_visita);

    la sintassi della query è corretta? vanno bene le parentesi tonde e gli apici in questa riga:
    between ('?') AND ('?')"

    se la variabile $primo_giorno deve essere il 1^ dic 2009, come la devo definire con il linguaggio php affinchè la possa usare nella query?

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    gli apici e le parentesi tonde non vanno messe

    Codice PHP:
    $query "SELECT cognome, nome, data_visita FROM medico_paziente, paziente " .
                 
    "WHERE id = ? AND data_visita BETWEEN ? AND ?";

    if (
    $stmt $mysqli->prepare($query)) {

            
    $stmt->bind_param("idd"$id$primo_giorno$ultimo_giorno);
        
            
    $stmt -> execute();
            
            
    $stmt->bind_result($cognome$nome$data_visita);


    se la variabile $primo_giorno deve essere il 1^ dic 2009, come la devo definire con il linguaggio php affinchè la possa usare nella query?

    il databse è mysql che memorizza le date nel formato yyyy-mm-dd

  3. #3
    Per il between se non mi sbaglio andrebbe bene così
    codice:
    where data between '01/01/01' and '02/02/02';
    Mi pare che ai tempi di scuola usavo gli apici però se qua sopra dicono che non ci vanno prova pure senza, se non funge prova a metterli

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    è una query di tipo prepared statment quindi gli apici non servono

    ho risolto da solo

    le date le ho scritte nel seguente modo

    $primo_giorno = date("d-m-Y", mktime(0,0,0,11,01,2009));
    $ultimo_giorno = date("d-m-Y", mktime(0,0,0,11,30,2009));

    e funziona, ma ho visto che posso scrivere più semplicemente:

    $primo_giorno = "01/11/2009";
    $ultimo_giorno = "30/11/2009";

    anche se la query si apetta un campo di tipo date, come si vede da questa riga di codice:

    $stmt->bind_param("idd ", $id, $primo_giorno, $ultimo_giorno);

    probabilmente il php la converte da stringa in data automaticamente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.