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. mancato inserimento dati dopo INSERT INTO
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • A
      akeeron User • ultima modifica di

      Ok, adesso la sintassi è chiara, e appurato che il problema non risiede nel codice, ti insegno un trucco.
      Al posto di echo "ok"; mettici

      echo $query;
      Lancia la pagina, copia la query stampata dall'echo, vai su phpmyadmin, ed esegui direttamente da lì quella query.
      Quando ti restituirà l'errore user friendly, saprai dove andare a cercare 😉

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • A
        alfanet75 User • ultima modifica di

        Ciao,
        grazie mille.
        Ho provato a fare ciò che hai scritto e spero di non aver sbagliato....
        Mi esce il seguente errore:

        #1064 - 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 '$query' at line 1

        grazie

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • A
          akeeron User • ultima modifica di

          Pagina insert.php
          [PHP]<?php
          include ("conn.php");

          $ragione_sociale = $_POST['ragione_sociale'];
          $via = $_POST['via'];
          $citta = $_POST['citta'];
          $provincia = $_POST['provincia'];
          $cap = $_POST['cap'];
          $stato = $_POST['stato'];
          $partita_iva = $_POST['partita_iva'];
          $codice_fiscale = $_POST['codice_fiscale'];
          $telefono = $_POST['telefono'];

          $query= <<<SQL
          INSERT INTO anagraficaclienti (ragione_sociale, via, citta, provincia, cap, stato, partita_iva, codice_fiscale, telefono)
          VALUES ("{$ragione_sociale}", "{$via}", "{$citta}", "{$provincia}", "{$cap}", "{$stato}", "{$partita_iva}", "{$codice_fiscale}", "{$telefono}");
          SQL;

          mysqli_query($conn, $query);
          echo $query;

          include ("close.php");
          ?>[/PHP]

          • Lancia la pagina insert.php ( ovviamente tramite form, altrimenti non avremmo i dati nel $_POST ), DEVE mostrarti in output la query.
          • Torna su phpmyadmin ed incolla la query in output dalla pagina insert.php

          Riprova a seguire questi passi, poi posta il messaggio d'errore.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • A
            alfanet75 User • ultima modifica di

            ciao e grazie, di seguito lo screen
            INSERT INTO anagraficaclienti (ragione_sociale, via, citta, provincia, cap, stato, partita_iva, codice_fiscale, telefono) VALUES ("azienda", "roma", "roma", "rm", "00100", "ita", "00000001", "00000001", "404030202")

            grazie

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • A
              akeeron User • ultima modifica di

              Esegui questa query su phpmyadmin e vedi l'errore che ti restituisce...

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • A
                alfanet75 User • ultima modifica di

                ciao lo screen inserito viene da phpmyadmin e mi scrive "MySQL ha restituito un insieme vuoto (i.e. zero righe). (La query ha impiegato 0.0817 sec)"

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • A
                  akeeron User • ultima modifica di

                  Non ho visto nessuno screen sfortunatamente, ma se ti dice che ha restituito un insieme vuoto la query funziona. Sei sicuro che il problema del mancato inserimento dati persista?

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • A
                    alfanet75 User • ultima modifica di

                    ciao, praticamente solo se inserisco la query io manualmente da phpmyadmin allora funziona e memorizza il record, altrimenti non fa nulla.
                    non so che pesci pigliare è davvero strano

                    grazie mille

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • A
                      akeeron User • ultima modifica di

                      A questo punto, sei sicuro che il file conn.php stabilisca una vera connessione al DB? E che non abbia errori al suo interno? Di solito se la query funziona il problema risiede nella connessione tra PHP e MySQL.
                      Se anche la connessione dovesse funzionare, non so proprio come aiutarti, mi spiace!

                      Saluti

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • A
                        alfanet75 User • ultima modifica di

                        ciao,
                        penso di si è questo

                        <?php
                        $conn=mysqli_connect("localhost", "root", "password");
                        if (!$conn)
                        {
                        die ("connessione al database non riuscita! ".mysqli_error());
                        }
                        ?>

                        ti ringrazio del tuo aiuto ma non capisco manco io.

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • A
                          akeeron User • ultima modifica di

                          Manca il nome del database.
                          [PHP]$db_connection = mysqli_connect("host","user","password","database");[/PHP]
                          Come vedi, il costruttore richiede quattro parametri, te ne fornisci tre, per forza non funziona la query.

                          Saluti

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • A
                            alfanet75 User • ultima modifica di

                            grazie mille, ho provato ora e funziona perfettamente.
                            mi spiace averti fatto impazzire per una "cavolata".
                            il php lo sto imparando.
                            grazie ancora.

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • A
                              akeeron User • ultima modifica di

                              Di nulla, lieto d'esserti stato d'aiuto. Tieni a mente quel "trucchetto" che ti ho illustrato in questo topic, può essere utile se avrai problemi di query in futuro.

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • A
                                alfanet75 User • ultima modifica di

                                Perfetto, grazie mille ancora!

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • A
                                  alfanet75 User • ultima modifica di

                                  Buongiorno ragazzi, sempre in rif. ai due files php inseriti, come posso verificare che per esempio se nel db è presente un campo come la partita iva non si reinserisca un nuovo record che lo duplica?
                                  Ho provato ad inserire un ciclo if prima dell'istruzione, ma non mi funziona.
                                  Grazie mille

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • A
                                    alfanet75 User • ultima modifica di

                                    Scusate ma ho risolto, lascio la soluzione
                                    $control = mysql_query("SELECT campo FROM iscritti WHERE campo= '$campotabella'");
                                    $countuser = mysql_num_rows($control);

                                    if ($countuser > 0) {
                                    echo "già iscritto";
                                    }
                                    else
                                    {#prosegue inserimento perchè non iscritto}

                                    grazie lo stesso

                                    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