Каждая вставка, которую я делаю, происходит дважды.
Я подумал, что страница может попасть дважды, поэтому я также добавил файл счетчика, который будет увеличиваться при каждой загрузке. Страница получает только один раз, но каждая вставка вставляется дважды.
<?
$x = intval(file_get_contents("./count.x"));
header("Content-type: text/plain");
$db = new SQLite3("/var/www/images/cache.db");
$statement = $db->prepare('insert into `imgCache` (name,type,data) values("test7","bmp","argh);');
$result = $statement->execute();while ($row = $result->fetchArray(SQLITE3_ASSOC))
{
print_r($row);
}$x++;
file_put_contents("./count.x",$x);
?>
До запуска этого сценария в базе данных нет записи для «test7», а содержимое count.x равно «0».
Когда я запускаю этот скрипт, происходит следующее
PHP выполняет запросы дважды: один раз, чтобы проверить, возвращены ли какие-либо строки, и второй раз, чтобы фактически вернуть строки.
Оператор INSERT не является запросом и не возвращает строки.
Удалить fetchArray
вызов.
Других решений пока нет …