es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Consulta de actualización de MySQL en el plugin de WordPress no funciona.

Estoy desarrollando un plugin de WordPress pero me enfrento a un problema. Me gustaría actualizar un valor existente de una tabla en una base de datos MySQL. Después de investigar, vi que se puede utilizar este método:

global $wpdb;
$wpdb->query($wpdb->prepare("UPDATE myTable SET name=$name WHERE id=$idTable"));

Sin embargo, cuando ejecuto mi código, obtengo este error en la consola de javascript:

Error no detectado: Llamada a una función miembro query() en nulo

¿Tiene alguna idea de cómo resolver este problema?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, el mensaje de error indica que la variable global $wpdb es nula, lo que significa que no está configurada correctamente. El problema podría ser que esté intentando acceder a $wpdb en el contexto equivocado o fuera del alcance de WordPress.

    Asegúrese de que sus archivos de plugin estén ubicados dentro del directorio /wp-content/plugins/ y de que su código solo se ejecute después de que WordPress se haya cargado. Puede usar los hooks de acción ‘init’ o ‘plugins_loaded’ para garantizar que WordPress y todas sus funcionalidades centrales estén disponibles.

    Aquí hay un ejemplo de cómo puede usar correctamente $wpdb para actualizar un valor en una tabla MySQL:

    “ `
    // Asegúrese de que este código se ejecute después de que se haya cargado WordPress
    add_action (‘init’, ‘my_plugin_update_table’);

    function my_plugin_update_table () {
        global $ wpdb;

        $name = ‘Nuevo Nombre’; // Reemplace con el nuevo valor que desea actualizar
        $idTable = 1; // Reemplace con el id de la fila que desea actualizar

        // Actualice el valor en la tabla
        $ wpdb-> actualizar (
            ‘myTable’, // Reemplace con el nombre de su tabla
            array (‘nombre’ => $name), // Reemplace con la columna y el nuevo valor que desea actualizar
            array (‘id’ => $idTable) // Reemplace con la fila a actualizar
        );
    }
    “ `

    Usar $wpdb->update() es un método más seguro y eficiente para actualizar los valores de la tabla, ya que automáticamente sanitiza los valores de entrada y prepara la consulta SQL.

Comments are closed.