0

私はphp 5.4.7とmysql 5.0を使用しています。SQL Select ステートメントを実行する php のループがあります。そのため、ループ内で Select が実行され、別のステートメントでいくつかのレコードが更新されます。ループが最初からやり直すと、一部のレコードが変更された場合に備えて Select ステートメントを再度実行する必要がありますが、Select ステートメントの結果セットはすべて同じです。選択しているレコードが変更されたかどうかに関係なく、ループの反復。

テーブルのフラッシュと、他のメソッドの配列を試してクリアしようとしましたが、想像できるのは、キャッシュがクリアされていないことだけです。

これは Zen Cart サイト用であるため、「TABLE_NAME」形式です。

$num_elements = 5;
$first_letter = 'a';

for($i = 0; $i < $num_elements; $i++){

  $sql_letter = "SELECT * FROM " . TABLE_CATEGORIES_DESCRIPTION . " WHERE categories_name LIKE :first_letter:";
  $sql_letter = $db->bindVars($sql_letter, ':first_letter:', $first_letter, 'string');
  $categories_description_letter_data = $db->Execute($sql_letter);

  if($something_happens){
    $sql = "UPDATE " . TABLE_CATEGORIES_DESCRIPTION . " SET status = 1 WHERE id = '$id'";   
    $result = $db->Execute($sql);    
  }
}
4

0 に答える 0