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 - https://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');