每次插入都会发生两次。 我认为该页面可能会被击中两次所以我还添加了一个计数器文件,该文件将在每次加载时递增。页面只被命中一次,但每个插入插入两次。
<?
$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;。
当我运行此脚本时,会发生以下情况
答案 0 :(得分:2)
PHP执行两次查询:一次检查是否返回任何行,第二次实际返回行。
INSERT语句不是查询,也不返回行。
移除fetchArray
电话。