Support » Allgemeine Fragen » Datenbank-Fehler wp_options

  • Guten Tag

    ich versuche im eigenen Plugin auf die Datenbank zuzugreifen. Dabei taucht ein Fehler, auf den ich nicht nachvollziehen kann.

    WordPress-Datenbank-Fehler: []
    SELECT option_name, option_value FROM wp_options WHERE autoload = ‚yes‘

    gebe ich die genannte SQL-Anweisung so direkt in der Datenbank ein, bekomme ich eine fehlerfreie Ausgabe.

    Ich nehme also an, es hat andere Gründe. Doch ich fische im Trüben.

    Im Log sieht das folgendermassen aus, wenn das Plugin aktiviert ist:

    [13-Sep-2020 13:53:18 UTC] WordPress-Datenbank-Fehler  für Abfrage SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (3) ORDER BY meta_id ASC von activate_plugin, include_once('/plugins/pcheck/pcheck.php'), require_once('/plugins/pcheck/database.php')
    [13-Sep-2020 13:53:18 UTC] WordPress-Datenbank-Fehler  für Abfrage SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes' von require_once('wp-admin/admin.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), include_once('/plugins/pcheck/pcheck.php'), require_once('/plugins/pcheck/database.php')
    

    Der relevante Code-Abschnitt:

    
    function pc_install()
    {
        global $wpdb;
        global $pcheck;
    
        $table_sites = $wpdb->prefix . $pcheck['db']['tb']['sites'];
        $table_hosts = $wpdb->prefix . $pcheck['db']['tb']['hosts'];
    
        $charset_collate = $wpdb->get_charset_collate();
    
        $sql = "CREATE TABLE $table_sites (
    		id mediumint(9) NOT NULL AUTO_INCREMENT,
    		url tinytext NOT NULL,
    		hostname varchar(255) DEFAULT '' NOT NULL,
                    hits mediumint(11),
                    score tinyint(3),
    		date_first datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
    		date_last_hit datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
    		art_date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
    		art_title tinytext NOT NULL,
    		art_h1 tinytext NOT NULL,
    		art_author tinytext NOT NULL,
    		art_content text NOT NULL,
    		meta_obj tinytext NOT NULL,
    		PRIMARY KEY  (id)
        ) $charset_collate;";
    
        require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
        dbDelta($sql);
    
        $sql2 = "CREATE TABLE $table_hosts (
    		id mediumint(9) NOT NULL AUTO_INCREMENT,
    		hostname varchar(255) DEFAULT '' NOT NULL,
    		media_name varchar(255) DEFAULT '' NOT NULL,
                    base_score tinyint(3),
                    average_score tinyint(3),
    		PRIMARY KEY  (id)
    	) $charset_collate;";
    
        dbDelta($sql2);
    
        var_dump(get_option('pcheck_db_version'));
    
        if (!get_option('pcheck_db_version'))
            add_option('pcheck_db_version', $pcheck['db']['version'], '', 'no');
    
        update_option('pcheck_db_version', $pcheck['db']['version']);
    }
    register_activation_hook(__FILE__, 'pc_install');

    Bin für jeden Hinweis dankbar

    • Dieses Thema wurde geändert vor 1 Monat, 1 Woche von yves779.