Autor Zpráva
Hasan
Profil *
Dost nešťastně (což vidím až teď) jsem v názvu svých stránek zvolil pomlčku a můj provider tento název používá automaticky jako základ názvu databáze, ke kterému si jako uživatel mohu dodat další znaky. Dotaz do databáze se děje tímto příkazem:
$result = $this->db->sqlQuery($sql);
přičemž v $sql je sestavený SELECT, kde je za FROM uvedeno jméno databáze s onou nešťastnou pomlčkou.
Uměl by mi někdo napsat příslušnou úpravu skriptu pro odstranění tohoto problému? Nejsem programátor a tak mě vůbec nic nenapadá.

Díky.
Kajman_
Profil *
select * from `nazev-tabulky`
Hasan
Profil *
Kajman:
Díky za pohotovou odpověď, ale jak už jsem říkal, nejsem programátor a tak mě to moc neříká. Napíšu raději celý příkaz SELECT a poprosím o jeho příslušnou úpravu:
$sql = 'SELECT
userID,
userName,
userRole,
channel,
UNIX_TIMESTAMP(dateTime) AS timeStamp,
ip
FROM
'.$this->getDataBaseTable('online').'
ORDER BY
userName;';
a názvy tabulek jsou:
ajax_chat_bans
ajax_chat_invitations
ajax_chat_messages
ajax_chat_online

Díky.
Kajman_
Profil *
Jak vypadá metoda getDataBaseTable? Nebo alespoň co vrací?
var_dump($this->getDataBaseTable('online'));
Hasan
Profil *
Kajman:
Vrací mi toto:
string(45) "hajek-rodokmen_info_ajaxchat.ajax_chat_online"
Kajman_
Profil *
Buď zkuste pohledat definici metody getDataBaseTable - v nějakém php souboru asi bude
... function getDataBaseTable ...


Nebo můžete v konfiguračním souboru, kde se definuje ta databáze, obalit její jméně těmi zpětnými apostrofy `hajek-rodokmen_info_ajaxchat`

Čistější řešení bude to první.
Hasan
Profil *
Kajman:
Tak jsem laboroval s těmi zpětnými apostrofy, ale nedařilo se mi. Nicméně jste mě navedl, abych hledal, kde upravit název mé databáze a jak jsem tak procházel soubory, které měly v názvu database, nebo mysql, tak jsem narazil v jednom na tento zápis:
//If your database has hyphens ( - ) in it, try using this instead:
//return '`'.$this->_db->getName().'`';
Zprovoznil jsem jej a ejhle úspěch. Ajaxchat chodí bezvadně.

Díky za Váš čas.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0