У нас есть приложение для управления документами. У меня есть 5000 файлов изображений, загруженных в MySQL DB. Необходимо удалить их при удалении папки на клиенте.
Используя следующий код,
public function delete($dbh){
$sql = "DELETE FROM fileTable WHERE FID=:fid;
DELETE FROM file_blobTable WHERE FID=:fid";
$stmt = $dbh -> prepare($sql);
$stmt -> bindParam(":fid", $this->fid, PDO::PARAM_INT);
$this -> fdid = -1; //
if ($stmt -> execute()) {
return 0;
}
return 1;
}
Вышеуказанная функция вызывается в цикле таким образом,
// Loop through the folder and delete all the files it contains.
foreach ($files as $fileID) {
// Get DB handle
$dbh1 = DB::getWriteDB();
$f = new File($fileID);
$f -> delete($dbh1);
}
Это прекрасно работает, когда мы удаляем, если количество изображений в БД меньше 500.
Если больше, я сталкиваюсь с ужасом,
«Неустранимая ошибка: вызов функции-члена prepare () для необъекта».