la consulta de actualización de wpdb no funciona

3 minutos de lectura

avatar de usuario
adnan

Creé un script de correo electrónico que debería actualizarse tan pronto como wp_mail tenga un resultado. Por alguna razón, mi valor no se actualiza. ¿Me he perdido algo? Estoy recibiendo el correo para que funcione el wp_mail.

¡Salud!

$email_result = wp_mail( $to, $subject, $message, $headers );

if( $email_result ){//wp_mail() processed the request successfully
    global $wpdb;
    $table_name = $wpdb->prefix . "wpsc_coupon_codes";
    $coupon_id = $ereminder->ID;

$ereminders = $wpdb->query( $wpdb->prepare("
    UPDATE *
    FROM $table_name
    SET reminder = 1
    WHERE ID = $coupon_id
") );

}

Prueba esto:

$wpdb->update( $table_name, array( 'reminder' => 1),array('ID'=>$coupon_id));

  • Por favor, ayúdame a entender cómo se pueden usar múltiples formatos where. Me gusta WHERE ID='some_id' AND ( email='som email' OR username='some username')

    – Karue Benson Karue

    16 ene a las 11:51

prueba esto

UPDATE  $table_name
SET reminer = 1
WHERE ID = $coupon_id

  • Gracias por el comentario. Sin embargo, todavía no funciona (y he cambiado el error tipográfico jaja, recordatorio = recordatorio)

    -adnan

    3 de marzo de 2013 a las 12:10


  • Entonces revisa $table_name y $coupon_id si dan valores correctos

    – echo_Me

    3 de marzo de 2013 a las 12:12

  • Error: Falta el argumento 2 para wpdb::prepare(), llamado en

    – Piruleta

    6 de febrero de 2015 a las 14:41

Podríamos usar $wpdb->updatecomo esto:

 global $wpdb;
 $table_name = $wpdb->prefix.'your_table_name';
 $data_update = array('row_name_1' => $row_data_1 ,'row_name_2' => $row_data_2);
 $data_where = array('row_name' => $row_data);
 $wpdb->update($table_name , $data_update, $data_where);

Puede cambiar en lugar de (ACTUALIZAR * DESDE)

$ereminders = $wpdb->query($wpdb->prepare("UPDATE $table_name SET reminer="1" WHERE ID=$coupon_id"));

y no usar descanso.

Gracias.

Ejemplo mío que está funcionando:

$result = $wpdb->update(
    $wpdb->prefix .'sae_calendar', 
    array( 
        'year' => $year,
        'quarter' => $quarter,
        'start_date' => $start_date,
        'end_date' => $end_date,
        'reservation_start_date' => $reservation_start_date,
        'reservation_end_date' => $reservation_end_date 
    ), 
    array(
        "id" => $id
    ) 
);

avatar de usuario
Alejandro Medios en línea

UPDATE $table_name
SET reminder = 1
WHERE ID = $coupon_id

Además, cambie:

$coupon_id = $ereminder->ID;

a

$coupon_id = $ereminder->id;

Fuente: Actualizar consulta con $wpdb – Tutorial de WordPress

avatar de usuario
azote

<?php 
  global $wpdb;
    if(isset($_POST['progress'])){
    $table=t_test;
    $data=array('client_development'=>$_POST['Progress']);
    $where=array('p_id'=>$_SESSION['id']);
    $format=("%d");
    $whereFormat=("%d");
    $result4=$wpdb->UPDATE($table,$data,$where,$format,$whereFormat);
  }
?>
<form method="post">
  <input type="text" name="Progress">
  <input type="submit" name="progress" value="Prog%">
</form>
<?php 
if(isset($_POST['progress'])){
$table=t_test;
    $data=array('client_development'=>$_POST['Progress']);
    $where=array('p_id'=>$_SESSION['id']);
    $format=("%d");
    $whereFormat=("%d");
    $result4=$wpdb->UPDATE($table,$data,$where,$format,$whereFormat);
}
?>
<form method="post">
  <input type="text" name="Progress">
  <input type="submit" name="progress" value="Prog%">
</form>

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad