Autor Zpráva
Murdoch
Profil
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
zkusil bych toto
sqlite_exec($dbHandle, $sqlInsertVisit);
nahradit tímto
sqlite_exec($dbHandle, $sqlInsertVisit, $errorMsg) or die($errorMsg);
Murdoch
Profil
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..

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: