Bearbeiten von Metadaten funktioniert nicht mit benutzerdefinierten SQL

Ich habe ein Formular, das Beiträge in WordPress hochlädt, und gleichzeitig kann ich Dinge wie die Metadaten später bearbeiten. Die Verwendung von WordPress edit_post_data funktioniert jedoch gut, aber eine benutzerdefinierte SQL-Abfrage funktioniert nicht. Ich wundere mich warum.

functioniert: update_post_meta($edit_id, 'lead_t', $_POST['lead_t']);

functioniert nicht:

 $wpdb->query( "UPDATE wp_postmeta (post_id, meta_key, meta_value) VALUES ('".$edit_id."', 'lead_t', '".$_POST['lead_t']."') WHERE post_id = '".$edit_id."' AND meta_key = 'lead_t'" ); 

Kann jemand diesen Fehler beheben oder debuggen, um den Grund zu finden?

Solutions Collecting From Web of "Bearbeiten von Metadaten funktioniert nicht mit benutzerdefinierten SQL"

Versuche Folgendes…

 global $wpdb; $wpdb->query( " UPDATE {$wpdb->prefix}postmeta SET post_id = {$edit_id}, meta_key = '{$meta_key}', meta_value= '{$meta_value}' WHERE post_id = {$edit_id} AND meta_key = '{$meta_key}' " ); //or using prepare $wpdb->query( $wpdb->prepare( " UPDATE {$wpdb->prefix}postmeta SET post_id = %d, meta_key = %s, meta_value = %s WHERE post_id = %d AND meta_key = %s ", $edit_id, $meta_key, $meta_value, $edit_id, $meta_key ) ); 

Als ein Hinweis, setzen Sie die folgenden Konstanten in Ihrer wp-config.php Datei, um Debugging / Fehlerprotokollierung zu aktivieren.

 define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); 

Fehler sollten in einer Datei wp-content/debug.log protokolliert werden, die Fehler enthalten sollte, die sich auf Ihre Abfrage beziehen, wenn sie errorshaft ist.