Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. non inserisce i dati nel db
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • T
      thedarkita ModSenior • ultima modifica di

      Ma che senso ha fare un controllo che i campi siano vuoti e fare l'update in quel caso? Non dovresti fare il contrario?

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • K
        krisincrediblegirl User • ultima modifica di

        Hai ragione, ma ero solo per leggere se la modifica era andata a buon fine...al posto di quello ho inserito...

        [PHP]$m=mysql_query("UPDATE annunci_cerco SET title='$title',body='$body' WHERE id=$id_ann");
        if($m){

        echo"modifica ok";
        }else{

            echo"impossibile modificare";}
        

        [/PHP]

        Però le modifiche non vanno a buon fine..perchè leggo impossibile modificare...come è possibile?

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • T
          thedarkita ModSenior • ultima modifica di

          La query genera un qualche errore, aggiungi mysql_error() per mostrarlo.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • K
            krisincrediblegirl User • ultima modifica di

            @Thedarkita said:

            La query genera un qualche errore, aggiungi mysql_error() per mostrarlo.

            Mi da questo messaggio fallitaQuery was empty

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • T
              thedarkita ModSenior • ultima modifica di

              Devi fare in questo modo:
              [php]
              $m=mysql_query("UPDATE annunci_cerco SET title='$title',body='$body' WHERE id=$id_ann") or die(mysql_error());
              if($m){

              echo"modifica ok";
              }else{

                  echo"impossibile modificare";} 
              

              [/php]

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • K
                krisincrediblegirl User • ultima modifica di

                ecco l'errore che mi da..

                You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

                la seconda olta che ho provato mi dice sempre fallitaQuery was empty

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • T
                  thedarkita ModSenior • ultima modifica di

                  Avrai il carattere ' in una delle 3 variabili che passi alla query, devi usare addslashes.
                  TI consiglio inoltre una lettura di questa guida:
                  http://www.giorgiotave.it/forum/scripting-e-risorse-utili/189074-guida-sql-injection.html

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • K
                    krisincrediblegirl User • ultima modifica di

                    Mi puoi spiegare cosa significa?

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • T
                      thedarkita ModSenior • ultima modifica di

                      Dovresti leggere la guida per capire, li è tutto spiegato sui problemi che derivano dagli apici e determinate configurazioni di php.

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • K
                        krisincrediblegirl User • ultima modifica di

                        Adesso funziona tutto!!!mi è bastato cambiare questo della pag contenente i dati inviati dal form
                        $id_ann=$_POST['id'];
                        al postodi $id_ann=$_GET['id'];

                        graazie dell'aiuto!!!

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • K
                          krisincrediblegirl User • ultima modifica di

                          volevo chiedere ancora una volta..vorrei verificare prima di una modifica e di una cancellazione l'esistenza del messaggio..come posso fare?

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • T
                            thedarkita ModSenior • ultima modifica di

                            Fai una query select e controlli con mysql_num_rows se c'è il record.

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • K
                              krisincrediblegirl User • ultima modifica di

                              Tipo una cosa del genere?

                              [PHP]if($title!="" && $body !=""){
                              $risultato = mysql_query("SELECT * FROM annunci_offro WHERE autore='".$_SESSION['utente']."'")or die(mysql_error("query annunci fallita"));
                              mysql_num_rows($risultato);

                              $modifica=mysql_query("UPDATE annunci_offro SET title='$title',body='$body' WHERE id=$id_ann") or die(mysql_error("query modifica fallita"));

                              echo"modifica ok";
                              header("refresh:2;URL=annunci_offro.php");
                              }else{

                                  echo"impossibile modificare";
                                  header("refresh:2;URL=annunci_offro.php");
                                  } 
                              

                              }
                              mysql_close();

                              ?>
                              [/PHP]

                              dove prima della query update ho messo select con il num_rows

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • T
                                thedarkita ModSenior • ultima modifica di

                                [php]
                                mysql_num_rows($risultato);
                                [/php]
                                Restituisce il numero di record quindi tu dovresti fare una cosa del tipo:
                                [php]
                                if(mysql_num_rows($risultato) == 0)
                                die('ID non presente');
                                [/php]

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • K
                                  krisincrediblegirl User • ultima modifica di

                                  [PHP]
                                  if($title!="" && $body !=""){
                                  $risultato = mysql_query("SELECT * FROM annunci_offro WHERE autore='".$_SESSION['utente']."'")or die(mysql_error("query annunci fallita"));
                                  if(mysql_num_rows($risultato) == 0)
                                  die('ID non presente');

                                  $modifica=mysql_query("UPDATE annunci_offro SET title='$title',body='$body' WHERE id=$id_ann") or die(mysql_error("query modifica fallita"));

                                  echo"modifica ok";
                                  header("refresh:2;URL=annunci_offro.php");
                                  }else{

                                      echo"impossibile modificare";
                                      header("refresh:2;URL=annunci_offro.php");
                                      } 
                                  

                                  }
                                  mysql_close();

                                  ?>

                                  [/PHP]

                                  Mi diresti se va bene così?

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • T
                                    thedarkita ModSenior • ultima modifica di

                                    Si va bene cosi, ma la funzione mysql_error non ha come primo parametro una stringa.

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • K
                                      krisincrediblegirl User • ultima modifica di

                                      @Thedarkita said:

                                      Si va bene cosi, ma la funzione mysql_error non ha come primo parametro una stringa.

                                      Quindi dovrei togliere il mysql_error?

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • T
                                        thedarkita ModSenior • ultima modifica di

                                        Dovrebbe diventare una cosa di questo tipo:
                                        [php]
                                        or die("query annunci fallita: ".mysql_error())
                                        [/php]

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        • K
                                          krisincrediblegirl User • ultima modifica di

                                          @Thedarkita said:

                                          Dovrebbe diventare una cosa di questo tipo:
                                          [php]
                                          or die("query annunci fallita: ".mysql_error())
                                          [/php]

                                          [PHP]$q="SELECT * FROM utenti WHERE username='$username'";
                                          $ris=mysql_query($q) or die("fallita");
                                          if(mysql_affected_rows()== 0){
                                          echo"non presente";

                                          }else{
                                          $c = isset($_GET['cancella']) ? $_GET['cancella'] : "";
                                          if ($_POST["canc"]=="si") { // se sceglie si

                                          //eseguo la query per la cancellazione dell'account
                                              $query="DELETE FROM utenti WHERE username='$username'";
                                              $res=mysql_query($query) or die(" query cancellazione account fallita"); // in caso di problemi con la query
                                              
                                              
                                              $messaggio="dati cancellati";
                                              header("refresh:; URL=home.php");
                                          

                                          }else{ //altrimenti se sceglgo no i dati non vengono cancellati
                                          if($_POST["canc"]=="no")

                                          $messaggio="i dati non sono stati cancellati";
                                          $username=$_SESSION['utente'];

                                          }

                                          echo $messaggio;
                                          }
                                          }[/PHP]

                                          Mi dici se può andare il controllo per verificare prima della cancellazione se l'utente è presente?

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          • T
                                            thedarkita ModSenior • ultima modifica di

                                            No, mysql_affected_rows serve per query di update/delete/insert.

                                            0 Miglior Risposta Ringrazia Cita Rispondi

                                              1 Risposta Ultima Risposta
                                            Caricamento altri post
                                            Rispondi
                                            • Topic risposta
                                            Effettua l'accesso per rispondere
                                            • Da Vecchi a Nuovi
                                            • Da Nuovi a Vecchi
                                            • Più Voti