Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154

    problema : query was empty

    Salve raga come da titolo ho un problema, molto probabilmente su una query...

    ecco il codice del mio script (ins_img.php):


    https://docs.google.com/document/d/1...kolaOvhMZA/pub

    il mio script di registrazione non prevede l inserimento di un avatar - immagine insomma, quindi volevo permettere ai miei utenti di caricare un immagine avatar anche dopo la registrazione tramite questo nuovo form...questo script chiede all utente l ' email con cui si è registrato e va a controllare se esiste nel database, e poi chiede di caricare un immagine..il problema salta fuori dopo aver inserito immagine ed email...clicco su "inserisci immagine" e mi salta fuori un messaggio :

    Query non valida: query was empty

    sembra proprio ci sia un problema nella query..quale potrebbe essere il problema ??

    mancano anche diversi controlli tipo il controllo sul formato dell immagine e la dimensione massima...sapreste dirmi anche come implementarli?
    Ultima modifica di Punix; 05-07-2017 a 21:32

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Non c'è nulla che ti sorprende nel tuo codice ?
    Ultima modifica di badaze; 06-07-2017 a 00:24
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    ...

    Codice PHP:
    // Query per inserire il file nel DB
    $sql mysql_query("INSERT INTO users SET
    nome_img ='
    $nome_file_vero' and  
    tipo_img ='
    $tipo_file' and
    img ='
    $dati_file' WHERE email='$email'");
    mysql_query($sql) or die("Query non valida: " mysql_error()); 
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    sono un novellino col php , mi aiuto accingendo a diverse guide sparse sul web...la query però a me sembra giusta

    edit : è la condizione where il problema?
    Ultima modifica di Punix; 06-07-2017 a 10:49

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Fai una query e metti il risultato in $sql
    Poi fai una query e usi il risultato della precedente come parametro.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    tipo cosi?

    codice:
    $risultato = mysql_query($sql)
    or die("Query non valida: " . mysql_error());

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    una cosa del genere?

    codice:
    // Query per inserire il file nel DB
    $sql = mysql_query("INSERT INTO users SET 
    nome_img ='$nome_file_vero', 
    tipo_img ='$tipo_file',
    img ='$dati_file',
    WHERE email='$email'");
    
    $risultato = mysql_query($sql)
    or die("Query non valida: " . mysql_error());
                   
    if(mysql_numrows($risultato))
    {
    session_start();
    $_SESSION['email'] = $email;
    // Messaggio di successo
    echo "Memorizzazione del file <b>$nome_file_vero</b> nel database eseguita correttamente!";  
    } else
    echo "E-mail inesistente";
    }

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    anche se non funziona comunque

  9. #9
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Ti sta dicendo che fai due volte mysql_query.La prima è ok perche gli passi la query (stringa). La seconda no: gli passi il result della prima query
    Codice PHP:
    $sql mysql_query("INSERT INTO "); // ok.$sql contiene il resultset della query che gli hai passato.
    ...
    $risultato mysql_query($sql); // E' sbagliato.Stai rifacendo una query ma gli passi il result set di prima ($sql) 

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    Quote Originariamente inviata da boots Visualizza il messaggio
    Ti sta dicendo che fai due volte mysql_query.La prima è ok perche gli passi la query (stringa). La seconda no: gli passi il result della prima query
    Codice PHP:
    $sql mysql_query("INSERT INTO "); // ok.$sql contiene il resultset della query che gli hai passato.
    ...
    $risultato mysql_query($sql); // E' sbagliato.Stai rifacendo una query ma gli passi il result set di prima ($sql) 
    codice:
    <body>
    
    <?php
    if (!isset($_POST['immagine'])) {
    ?>
    
    <center>
    <div style="margin:180px auto;">
    <table class="bordered" style="margin:30px auto;">
                    <tr>
                    <td>
                    <center>
                    <img src="http://i.imgur.com/hxvbojK.png" width="300" height="60">
                    <br><br><br>
                    </center>
    <form name="upload" enctype="multipart/form-data" method="post">
                    <center>
    <p>Seleziona un immagine dal tuo computer:</p> 
    <input type="file" name="file_inviato"><br><br><br>
    Inserisci l' E-mail con cui ti sei registrato!<br><br>
    </center>
    E-mail : <input class="colorecampi" type="text" name="email" /><br><br>
    <center>
    <input class="entra" type="submit" name="immagine" value="Inserisci Immagine" />
    </p> 
    </form>
    </center>
    </td>
    </tr>
    </div>
    </center>
    
    <?php
    } else {
    
    $email = $_POST['email'];
    if ($email == "")
    {
    echo "Non lasciare vuoto il campo";
    // Verifico eventuali problemi nell'upload del file
    if((!isset($_FILES["file_inviato"])) || ($_FILES["file_inviato"]["error"] != UPLOAD_ERR_OK))
    {
    echo "Errore nell'invio del file. Riprova!";    
    }
    }else {
    mysql_connect("mysql.hostinger.it", "u686410779_punix", "zipzem38i") or die(mysql_error());
    mysql_select_db("u686410779_prova") or die(mysql_error());
    // Recupero delle informazioni sul file inviato
    $nome_file_temporaneo = $_FILES["file_inviato"]["tmp_name"];
    $nome_file_vero = $_FILES["file_inviato"]["name"];
    $tipo_file = $_FILES["file_inviato"]["type"];
    
    // Leggo il contenuto del file
    $dati_file = file_get_contents($nome_file_temporaneo);
    
    // Preparo il contenuto del file per la query sql
    $dati_file = addslashes($dati_file);
    
    // Query per inserire il file nel DB
    
    $sql = mysql_query("INSERT INTO users SET
    
    nome_img ='$nome_file_vero' and  
    
    tipo_img ='$tipo_file' and
    
    img ='$dati_file' WHERE email='$email'");
    
    mysql_query($query) or die("Query non valida: " . mysql_error());
    
                           
    
    if ($sql) {
    
    $num = mysql_num_rows($sql);
    
    if ($num > 0) {
    
    session_start();
    
    $_SESSION['email'] = $email;
    
    // Messaggio di successo
    
    echo "Memorizzazione del file <b>$nome_file_vero</b> nel database eseguita correttamente!";  
    
    } else
    
    echo "E-mail inesistente";
    
    }
    
    }
    
    }
    
    ?>
    
    </body>
    il codice che mi da problemi è questo ... quella seconda riga l ho inserita ora pensando fosse la soluzione ma nulla...nel codice come vedi non ci sta ..

    ci sta questo

    codice:
    // Query per inserire il file nel DB
    
    $sql = mysql_query("INSERT INTO users SET
    
    nome_img ='$nome_file_vero' and  
    
    tipo_img ='$tipo_file' and
    
    img ='$dati_file' WHERE email='$email'");
    
    mysql_query($sql) or die("Query non valida: " . mysql_error());
    il problema sta qui , quindi

    codice:
    mysql_query($sql) or die("Query non valida: " . mysql_error());
    Non ho capito però come risolverlo

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.