Autor | Zpráva | ||
---|---|---|---|
Peter Tom Profil |
#1 · Zasláno: 3. 8. 2016, 18:11:28
Dobrý deň,
Učím sa OOP na príkladoch z knihy PHP 6 Programujeme profesionálne. class Widget { private $id; private $name; private $description; private $hDB; private $needsUpdating = false; public function __construct($widgetID) { $this->hDB = pg_connect('host=pgsql1.dnsserver.eu dbname=db56575xteo user=db56575xteo password=*****'); if(! is_resource($this->hDB)) { throw new Exception('Chyba při pokusu o připojení k databázi.'); } $sql = "SELECT \"name\", \"description\" FROM widget WHERE widgetid = $widgetID"; $rs = pg_query($this->hDB, $sql); if(! is_resource($rs)) { throw new Exception("Chyba pri nacítání dat z databáze."); } Warning: pg_query() [function.pg-query]: Query failed: ERROR: relation "widget" does not exist LINE 1: SELECT name, description FROM widget WHERE widgetid =1. Poprosím o radu. |
||
TomášK Profil |
#2 · Zasláno: 3. 8. 2016, 20:58:51
V databázi neexistuje tabulka widget. Je potřeba ji vytvořit, pak by to mělo projít.
|
||
Peter Tom Profil |
TomášK:
Testujem to na webhostingu, kde som si vytvoril databázu Postgre a cez phpPgAdmin tabuľku widget a naplnil údajmi. Skúšal som viacero variantov overenia úspešnosti pripojenia a aj príkaz pg_connection status vráti: PGSQL_CONNECTION_OK. Neviem pochopiť, prečo potom sa php nevie dostať k tabuľke widget |
||
TomášK Profil |
#4 · Zasláno: 4. 8. 2016, 13:41:48
Chybová hláška je odpověď, kterou vygenerovala databáze, připojení k databázi bude v pořádku. Pro ověření můžeš zkusit dotaz, který nepoužívá žádnou tabulku, třeba
SELECT 1 . Seznam tabulek můžeš vypsat pomocí
SELECT table_schema,table_name FROM information_schema.tables ORDER BY table_schema,table_name; |
||
Peter Tom Profil |
#5 · Zasláno: 4. 8. 2016, 21:33:54
TomášK:
Pomohla podpora: Po vygenerovaní databázy na hostingu sa vytvorí schéma public ale užívateľ k nej nemá vlastnícke právo a nemôže si vytvoriť tabuľky. Musí si vytvoriť vlastnú schému s nejakým menom a toto doplniť pred názov tabuľky (mojaschema.názovtabulky) pri odvolávke v SQL príkaze na tabuľku. Potom už funguje príkaz pg_query. Ďakujem za rady. |
||
Časová prodleva: 9 let
|
0