Имайте предвид, че main_page//0 е нетерминал,не предикат. За да извикате предикатите на вашата база данни от main_page//0 , трябва да напишете нещо като:
main_page -->
{create_db_connect,
use_database,
query_to_database(X),
disconnect_database},
html(div('id="tab_c2"', p('~w')-[X])).
{}/1 конструкцията ви позволява да извикате предикати от (тялото на) граматически правила. Без него create_db_connect а останалите ще бъдат интерпретирани като извиквания към други нетерминали (create_db_connect//0 , ...).
Обикновено нетерминалите се разширяват в предикати чрез добавяне на два аргумента. Оттук и предупрежденията, които получавате:
Warning: create_db_connect/2, which is referenced by
Warning: /root/prologDev/el.pl:56:17: 1-st clause of main_page/2