1° pour la première fonction, c'est une mauvaise approche, un show table est meilleur car il te donnera une réponse plus proche de la vérité. Ici, tu te choppes un message d'erreur et tu ne vérifies même pas ce qu'il vaut.
2° les valeurs de connexion de devraient jamais se trouver en dur dans la classe.
3° les fonctions avec valeurs par défaut, je suis pas trop pour, ca laisse une part de flou dans l'utilisation
4° le die n'est pas une bonne pratique. Tu dis que tu as l'habitude du java et tu n'effectues même pas une traitement approprié de l'erreur.
5° la recherche de la bdd pour la tribue c'est du grand n'importe quoi. Soit elle existe et on l'utilise de suite, soit elle n'existe pas et on ne s'amuse pas à la rechercher dans l'ensemble des db dispos mais on traite l'erreur proprement
6° Tout ce qui est création de la tribune (DB, tables, etc...) ne doit pas se trouver dans cette classe, cela fait partie de l'installation du script, pas de son utilisation classique.
7° dans add, le deuxième message d'erreur écrase le premier
8° elseif inutile dans la fonction add, else suffit.
9° un insert sans préciser les champs et ensuite être obligé de mettre des champs à null, c'est mal.
10° dans la fonction show_message, quel chippotage juste pour traiter le cas initial!
11° l'appel systématique à la fonction add dans la page est a éviter.
Voila, c'est ce que je vois rapidement dans le code, mais il est fort possible que j'ai laissé passer l'un ou l'autre truc.