La consulta de inserción no funciona en el formulario

4 dic 2014, 07:39:45
Vistas: 35.2K
Votos: 0

Muchas personas han preguntado lo mismo, he leído esas cosas y mi caso es diferente,

Estoy tratando de insertar algunos valores dentro de la base de datos desde el formulario pero no se están insertando

Tengo una tabla en la base de datos que tiene 6 columnas y quiero insertar valores solo en 4 de ellas

Nombre de la Tabla: wp_contactus

6 Columnas

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

Este es el código para insertar solo en las 4 columnas

4 Columnas

  • firstname
  • secondname
  • email
  • query

    <div class="wrap">
          <form action="" method="post">
              Nombre <input type="text" name="firstNametxt" value="" /><br/>
              Apellido <input type="text" name="lastNametxt" value="" /><br/>
              Email <input type="text" name="email" value="" /><br/>
              Consulta <input type="text" name="query" value="" /><br/>
              <input name="Submit" type="submit" value="Enviar">
          </form>
          <form method="post">
              <?php   
              global $wpdb;
                      $firstName = $_POST["firstNametxt"];
                      $lastName = $_POST["lastNametxt"];
                      $email = $_POST["email"];
                      $query = $_POST["query"];
    
                      echo $firstName;
              $contactus_table = $wpdb->prefix."contactus";
    
              $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
Comentarios

¿Por qué estás enviando el ID? El ID debería ser Auto Incrementado en la base de datos.

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

sí, no lo sé, lo siento, ¿cómo debería ser entonces el código? ¿puedes reasignarlo adecuadamente?

lost_in_magento lost_in_magento
4 dic 2014 08:00:34

¿Cómo puedo agregar con ID y marca de tiempo en la fila? ¿Me puedes decir?

lost_in_magento lost_in_magento
4 dic 2014 08:16:23

@rajesh elimina el primer elemento en VALUES (es decir, el 2) y el id, después de $contactus_table

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

@MayeenulIslam Muchas gracias por tu respuesta...!! ¿Revisaste la última columna? ¿Qué debo hacer con eso?

lost_in_magento lost_in_magento
4 dic 2014 08:45:56

¿Por qué la solución de @RRikesh no funciona en tu problema?

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

Lo revisé pero no sé cómo codearlo... ¿me puedes ayudar..!!

lost_in_magento lost_in_magento
4 dic 2014 08:49:04

Ya hice eso hermano... no sirve

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
Mostrar los 5 comentarios restantes
Todas las respuestas a la pregunta 2
0

Descubrí mi error en la consulta, gracias a todos por responder, solo comparto el fragmento de código

  <?php
  global $wpdb;
  $contactus_table = $wpdb->prefix."contactus";
        //error con la consulta
        $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

Tienes que hacerlo tú mismo. Es solo un marco de lo que debería ser como mínimo. Investiga más y utiliza el formato. Lo siguiente no está verificado, así que es tu turno... :)

<form action="" method="post" enctype="multipart/form-data">
  <label for="first-name-text">Nombre: </label><input type="text" id="first-name-text" name="firstNametxt" value="" /><br/>
  <label for="last-name-text">Apellido: </label><input type="text" id="last-name-text" name="lastNametxt" value="" /><br/>
  <label for="email">Correo electrónico: </label><input type="text" id="email" name="email" value="" /><br/>
  <label for="query">Consulta: </label><input type="text" id="query" name="query" value="" /><br/>
  <input name="Submit" type="submit" value="Enviar">
</form>
<?php
if( isset($_POST['submit']) ) {

  //obtener valores enviados desde el formulario
  $firstName = $_POST["firstNametxt"];
  $lastName = $_POST["lastNametxt"];
  $email = $_POST["email"];
  $query = $_POST["query"];

  //manejar la base de datos al estilo 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 de dato es string
      '%s',
      '%s',
      '%s',
      '%s' 
    ) 
  );
}
?>
4 dic 2014 09:33:31
Comentarios

No se está agregando, hermano... :(

lost_in_magento lost_in_magento
4 dic 2014 09:46:37

http://i59.tinypic.com/315iexu.jpg Haz clic en esta URL hermano, esta es la estructura de la base de datos

lost_in_magento lost_in_magento
4 dic 2014 09:55:45