PHP + SQLite 重复插入

PHP + SQLite duplicate inserts

我做的每一次插入都会发生两次。 我认为该页面可能会被点击两次,所以我还添加了一个计数器文件,该文件会在每次加载时递增。该页面仅被点击一次,但每次插入都被插入两次。

<?
$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”。

当我运行这个脚本时,会发生以下情况

  1. count.x 包含文本“1”
  2. 现在数据库中有两个 test7 条目。

PHP 执行查询两次:第一次检查是否有任何行 returned,第二次实际 return 行。

INSERT 语句不是查询,也没有 return 行。 删除 fetchArray 调用。