PHP + SQLite重复插入

时间:2015-02-20 16:54:06

标签: php sqlite raspberry-pi

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

<?
$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);

?>

在运行此脚本之前,没有#34; test7&#34;在数据库中,count.x的内容是&#34; 0&#34;。

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

  1. count.x包含文本&#34; 1&#34;
  2. 现在数据库中有test7的两个条目。

1 个答案:

答案 0 :(得分:2)

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

INSERT语句不是查询,也不返回行。 移除fetchArray电话。