Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Benutzerdefinierte WordPress-Datenbanktabelle nicht erkannt

Meine beste Vermutung ist, dass Sie Ihrem WordPress-MySQL-Datenbankbenutzer keine Berechtigung für Ihre neue benutzerdefinierte Tabelle erteilt haben, vermutlich weil Sie sie mit einem anderen MySQL-Benutzer über phpMyAdmin erstellt haben . Versuchen Sie Folgendes auszuführen:

GRANT ALL PRIVILEGES ON sow2.spd_invites TO 'wordpress_user'@'wordpress_host';
FLUSH PRIVILEGES; -- load new privileges

Ersetzen Sie „wordpress_user“ durch Ihren Wordpress-MySQL-Benutzernamen (zu finden in wp-config.php). ) und „wordpress_host“ mit dem Hostnamen Ihres Wordpress-Servers (oder localhost, wenn es sich auf demselben Server befindet).

Denken Sie daran, dass dies Wordpress MySQL volle Berechtigungen gewährt (SELECT , INSERT , DROP , usw.) zu dieser Tabelle hinzufügen, was möglicherweise unerwünscht ist. Siehe die MySQL-Dokumentation für meine Informationen zu GRANT Befehl - http://dev.mysql.com/doc/refman /5.5/en/grant.html

Sie werden Ihre Einfügung mit query() ausführen wollen funktionieren, da sie keine Ergebnisse zurückgibt:

$wpdb->query($query);

Um alle Tabellen anzuzeigen, die für Ihren Wordpress-MySQL-Benutzer sichtbar sind, fügen Sie Folgendes zur functions.php Ihres Themes hinzu Datei, um die Tabellennamen unten auf jeder Seite auszudrucken:

function show_all_tables(){
    global $wpdb; 
    foreach($wpdb->get_results("SHOW TABLES", ARRAY_N) as $table): 
        echo $table[0]."<br/>"; 
    endforeach;
} 
add_action('wp_footer', 'show_all_tables');