Query di inserimento non funzionante nel form

4 dic 2014, 07:39:45
Visualizzazioni: 35.2K
Voti: 0

Molte persone hanno posto la stessa domanda, ho letto quelle risposte ma il mio caso è diverso.

Sto cercando di inserire alcuni valori nel database da un form ma l'inserimento non viene eseguito.

Ho una tabella nel database con 6 colonne e voglio inserire valori solo in 4 di esse.

Nome Tabella: wp_contactus

6 Colonne

  • id
  • firstname
  • lastname
  • email
  • query
  • reg_date

Questo è il codice per l'inserimento in sole 4 colonne

4 Colonne

  • firstname
  • secondname
  • email
  • query

      <div class="wrap">
          <form action="" method="post">
              Nome <input type="text" name="firstNametxt" value="" /><br/>
              Cognome <input type="text" name="lastNametxt" value="" /><br/>
              Email <input type="text" name="email" value="" /><br/>
              Richiesta <input type="text" name="query" value="" /><br/>
              <input name="Submit" type="submit" value="Invia">
          </form>
          <form method="post">
              <?php   
              // Accesso globale all'oggetto wpdb
              global $wpdb;
                      $firstName = $_POST["firstNametxt"];
                      $lastName = $_POST["lastNametxt"];
                      $email = $_POST["email"];
                      $query = $_POST["query"];
    
                      echo $firstName;
              $contactus_table = $wpdb->prefix."contactus";
    
              // Query di inserimento dati
              $sql = "INSERT INTO $contactus_table (id, firstname, lastname, email,                                               
    
                query, reg_date) VALUES ('2', $firstName, $lastName, $email, $query,
    
                CURRENT_TIMESTAMP);";                  
    
                $wpdb->query($sql)) 
    
         ?>
         </form>
         </div>
    
         <?php
              }
              add_shortcode( 'CONUS', 'contactus_shortcode' );
    
         ?>
    
10
Commenti

Perché stai inviando l'ID? L'ID dovrebbe essere Auto Incrementato nel database.

Mayeenul Islam Mayeenul Islam
4 dic 2014 07:59:24

sì non lo so, mi dispiace come dovrebbe essere il codice allora? puoi riassegnarlo di conseguenza..

lost_in_magento lost_in_magento
4 dic 2014 08:00:34

Come posso aggiungere id e timestamp nella riga, puoi dirmelo?

lost_in_magento lost_in_magento
4 dic 2014 08:16:23

@rajesh elimina il primo elemento in VALUES (cioè 2) e id, dopo $contactus_table

Mayeenul Islam Mayeenul Islam
4 dic 2014 08:43:40

@MayeenulIslam Grazie mille per la tua risposta...!! Hai controllato l'ultima colonna, cosa devo fare con quella?

lost_in_magento lost_in_magento
4 dic 2014 08:45:56

Perché la soluzione di @RRikesh non funziona sul tuo problema?

Mayeenul Islam Mayeenul Islam
4 dic 2014 08:47:10

Ho controllato ma non so come programmare... puoi aiutarmi..!!

lost_in_magento lost_in_magento
4 dic 2014 08:49:04

L'ho fatto bro... niente da fare

lost_in_magento lost_in_magento
4 dic 2014 09:27:47

$wpdb->insert( '$contactus_table', array( 'firstname' => '$firstName', 'lastname' => '$lastName', 'email' => '$email', 'query' => '$query' ), array( '%s', '%s', '%s', '%s' ) );

lost_in_magento lost_in_magento
4 dic 2014 09:28:10
Mostra i restanti 5 commenti
Tutte le risposte alla domanda 2
0

Ho individuato l'errore nella query, grazie a tutti ragazzi per aver risposto, vi condivido il pezzo di codice

  <?php
  global $wpdb;
  $contactus_table = $wpdb->prefix."contactus";
        //errore nella query
        $sql = "INSERT INTO $contactus_table (firstname, lastname, email, query, reg_date) VALUES ('$firstName', '$lastName', '$email', '$query', CURRENT_TIMESTAMP)";

               if($wpdb->query($sql)) 
               {
               $BlogName = get_bloginfo();
               echo $BlogName;
               }
   ?>
5 dic 2014 07:26:20
2

Devi farlo da solo. Questo è solo uno schema di come dovrebbe essere almeno. Cerca di più e usa il formato. Quanto segue non è verificato, quindi tocca a te... :)

<form action="" method="post"  enctype="multipart/form-data">
  <label for="first-name-text">Nome: </label><input type="text" id="first-name-text" name="firstNametxt" value="" /><br/>
  <label for="last-name-text">Cognome: </label><input type="text" id="last-name-text" name="lastNametxt" value="" /><br/>
  <label for="email">Email: </label><input type="text" id="email" name="email" value="" /><br/>
  <label for="query">Richiesta: </label><input type="text" id="query" name="query" value="" /><br/>
  <input name="Submit" type="submit" value="Invia">
</form>
<?php
if( isset($_POST['submit']) ) {

  //ottieni i valori inviati dal form
  $firstName = $_POST["firstNametxt"];
  $lastName = $_POST["lastNametxt"];
  $email = $_POST["email"];
  $query = $_POST["query"];

  //gestisci il database in modo WordPress
  global $wpdb;
  $contactus_table = $wpdb->prefix."contactus";
  $wpdb->insert( 
    $contactus_table, 
    array( 
        'firstname' => $firstName, 
        'lastname'  => $lastName,
        'email'     => $email,
        'query'     => $query,
        'reg_date'  => current_time( 'mysql' ) // http://codex.wordpress.org/Function_Reference/current_time
    ), 
    array( 
      '%s', //tipo di dato stringa
      '%s',
      '%s',
      '%s',
      '%s' 
    ) 
  );
}
?>
4 dic 2014 09:33:31
Commenti

Non viene aggiunto, fratello.. :(

lost_in_magento lost_in_magento
4 dic 2014 09:46:37

http://i59.tinypic.com/315iexu.jpg Clicca su questo URL fratello, questa è la struttura del database

lost_in_magento lost_in_magento
4 dic 2014 09:55:45