Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Errore con query sql e php

    Ciao ragazzi, sto cercando di fare una query sul mio db tramite php ma non capisco dove sia il problema, vi poso il codice così magari mi spiego meglio,
    questo è il codice dove genero la query:
    Codice PHP:
    <?php
    /*vediamo quale è stata la selezione dell'utente*/
    include ('../menu.php');
    require_once(
    '../richiesteSQL.php');    
    $scelta_fatta=$_POST['queryID'];     /* salvo il valore che corrisponde alla queri selezionata dall'utente*/


    switch($scelta_fatta) { 
        case 
    "1q"
            
    $nomeEvento=$_POST['nome'];     
            
    $costoEvDonna=$_POST['costo_u'];     
            
    $costoEvUomo=$_POST['costo_d']; 
            
    $dataEvento=$_POST['data']; 
            
    $genereEvento=$_POST['selezione']; 
            
    $discoOrgEvento=$_POST['id_disco'];
              
    $query "INSERT INTO Evento VALUES ('', '$nomeEvento', '$costoEvDonna', '$costoEvUomo', '$dataEvento', '$genereEvento', '$discoOrgEvento');";
        break; 
    }
        echo (
    "$query");
        
    richiesteSQL($query);
        
    ?>
    ovviamente ora nella switch c'è solo un possibile valore, ma poi ne aggiungerò altri,
    allora il form da dove prendo i dati funziona bene e quando stampo la query con echo, mi risulta che la query sia corretta, adesso vi poso il codice della funzione
    richiesteSQL:
    Codice PHP:
    <?php

    function richiesteSQL($query){
        
    /*parametri di connessione db */
        
    $host "localhost";
        
    $username "root";
        
    $password "1989";
        
    $db "discoteca";

        
    /* Effettuiamo la connessione al db, se istruzione restituisce 0 allora la connessione non è andata a buon fine */
        
    $conn mysqli_connect($host,$username,$password,$db);
        if(!
    $conn)
            die(
    "Errore connessione"); /* die interrompe le operzione dello script e stampa il messaggio di errore*/
        
    echo "connessione avvenuta con successo ";
        
    $risultato mysql_query($query);
        if (
    $risultato==FALSE
            die(
    "errore nella composizione della query:");
        echo 
    "query avvenuta con successo";
    }
    ?>
    il codice mi sembra apposto, tanto che la connessione avvenirne correttamente, ma la query sembra non andare a buon fine? perchè mi stampa sempre il messaggio "errore nelal composizione della query". dove è il problema?
    quando stampo la query a vide per debugging la query è corretta, perché se la copio ed incollo in mysql funziona!!!
    dove sbaglio? sto diventando matto!

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Stampa $query per vedere cosa contiene. Potrebbe essere facilmente un problema di apici. E il codice é anche vulnerabile verso sql injections.

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  3. #3
    Nella descrizione ho scritto già che avevo stampato la query e se provo ad incollarla direttamente nel terminale di mysql funziona! quindi la query è apposto!

  4. #4
    Per stabilire la connessione utilizzi mysqli_connect() mentre per eseguire la query utilizzi mysql_query()
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    perfetto ci stiamo avvicinando, siccome è la prima volta che mi avvicino al php ti vorrei chiedere cortesemente cosa cambia tra le 2 funzioni, cioè se le scrivo senza la i o con la i,
    cmq se scrivo cosi:
    Codice PHP:
    <?php

    function richiesteSQL($query){
        
    /*parametri di connessione db */
        
    $host "localhost";
        
    $username "root";
        
    $password "1989";
        
    $db "discoteca";

        
    /* Effettuiamo la connessione al db, se istruzione restituisce 0 allora la connessione non è andata a buon fine */
        
    $conn mysql_connect($host,$username,$password,$db);
        if(!
    $conn)
            die(
    "Errore connessione"); /* die interrompe le operzione dello script e stampa il messaggio di errore*/
        
    echo "connessione avvenuta con successo ";
        
    $risultato mysql_query($query);
        if (
    $risultato==FALSE
            die(
    "errore nella composizione della query:");
        echo 
    "query avvenuta con successo";
    }
    ?>
    non funziona lo stesso!!

  6. #6
    Perfetto, sono riuscito a farlo funzionare ecco il codice magari potrebbe faro comodo ad altri che si trovano nella mia stessa situazione:

    Codice PHP:
    <?php

    function richiesteSQL($query){
        
    /*parametri di connessione db */
        
    $host "localhost";
        
    $username "root";
        
    $password "1989";
        
    $db "discoteca";

        
    /* Effettuiamo la connessione al db, se istruzione restituisce 0 allora la connessione non è andata a buon fine */
        
    $conn mysqli_connect($host,$username,$password,$db);
        if(!
    $conn)
            die(
    "Errore connessione"); /* die interrompe le operzione dello script e stampa il messaggio di errore*/
        
    echo "connessione avvenuta con successo ";
        
    $risultato mysqli_query($conn$query);
        if (
    $risultato==FALSE
            die(
    "errore nella composizione della query:");
        echo 
    "query avvenuta con successo";
    }
    ?>
    cmq vorrei sapere la differenza tra le funzioni con la i e senza la i.
    cmq grazie mille, per quella maledetta i ho sprecato 3 ore

  7. #7
    mysqli sta per "MySQL Improved" e dovrebbe essere più performante e fornire maggiori funzionalità tra cui la gestione delle transazioni. Comunque ti basta fare una ricerca con google per approfondire l'argomento.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Perfetto grazie mille ragazzi!!!

  9. #9
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Originariamente inviato da satifal
    mysqli sta per "MySQL Improved" e dovrebbe essere più performante e fornire maggiori funzionalità tra cui la gestione delle transazioni.
    http://www.php.net/manual/en/mysqli.overview.php

    Originariamente inviato da satifal
    Comunque ti basta fare una ricerca con google per approfondire l'argomento.

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  10. #10
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Originariamente inviato da neroux
    E il codice é anche vulnerabile verso sql injections.
    sql injection, I repeat, sql injection

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

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.