Autor | Zpráva | ||
---|---|---|---|
Murdoch Profil |
#1 · Zasláno: 23. 2. 2009, 22:59:24
Zdravím,
chtěl jsem přejít z mysql na sqlite databazi, ale po odladěni skriptu ve Windows jsem zjistil, že na linux nefunguje. Problém určitě neni v nedostatečných právech (777) nebo neexistenci souboru, protože se SELECT uspěšně provede, ale INSERT z neznámého důvodu nee. Neúspěšně testováno na pipni.cz a www.ic.cz. Netušíte v čem může být problém? Warning: sqlite_exec() [function.sqlite-exec]: unable to open database file in XY on line XYZ <?php $dbname = 'sqlite2-test.s2db'; if (!is_writable($dbname)) die("Unable to open database '$dbname' for writing."); $dbHandle = sqlite_open($dbname, 0666, $sqliteError) or die($sqliteError); $pageVisit = sqlite_escape_string($_SERVER['PHP_SELF']); $sqlInsertVisit = "INSERT INTO pageView (page, access) VALUES ('$pageVisit', '".time()."')"; sqlite_exec($dbHandle, $sqlInsertVisit); $sqlGetView = "SELECT count(page) AS view FROM pageView WHERE page = '$pageVisit'"; $result = sqlite_query($dbHandle, $sqlGetView); $pageView = sqlite_fetch_array($result); echo 'This page has been viewed '.$pageView['view'].' times.'; ?> |
||
nightfish Profil |
#2 · Zasláno: 24. 2. 2009, 10:30:53
zkusil bych toto
„sqlite_exec($dbHandle, $sqlInsertVisit); “ nahradit tímto sqlite_exec($dbHandle, $sqlInsertVisit, $errorMsg) or die($errorMsg); |
||
Murdoch Profil |
#3 · Zasláno: 24. 2. 2009, 17:10:39
Problém je už vyřešen,
nevěděl jsem, že kromě nastavení práva zápisu u databázového souboru musím povolit zápis i do celého adresáře, protože se v něm automaticky vytváří transakční soubor.. |
||
Časová prodleva: 15 let
|
0