Оценки раздел текста точность ответа


Этот код используется в Flex приложение и PHP, чтобы определить, если пользователь прочитал текст и правильно ответил на вопрос.

Я пишу в таблицу, которая похожа на закладку, а затем обновить пользователей точек. Этот код работает, но поскольку я делаю два вызова к базе данных, я боюсь, что это слишком "дорого". Я попробовал несколько вещей, как с помощью подзапроса (возможно я просто не знаю синтаксис). Я использую это сейчас, но я просто хочу сделать как можно лучше.

public function createReadSectionAndPnts($userId, $item){
  $stmt = mysqli_prepare($this->connection,
"INSERT INTO readSection (
        user_id, chapter_id, section_letter, section_id, sub_section
        ) 
    VALUES (?, ?, ?, ?, ?)");
$this->throwExceptionOnError();

mysqli_bind_param($stmt, 'iisss', $userId, $item->chapter_id, $item->section_letter,
$item->section_id, $item->sub_section);
$this->throwExceptionOnError();

mysqli_stmt_execute($stmt);
$this->throwExceptionOnError();

$autoid = mysqli_stmt_insert_id($stmt);

mysqli_stmt_free_result($stmt);

$stmt2 = mysqli_prepare($this->connection,
"UPDATE users SET total_points = (5 + total_points)  WHERE id =?");
    $this->throwExceptionOnError();

    mysqli_bind_param($stmt2, 'i', $userId);
    $this->throwExceptionOnError();

    mysqli_stmt_execute($stmt2);
    $this->throwExceptionOnError();

    mysqli_stmt_free_result($stmt2);
    mysqli_close($this->connection);


return $autoid;
}


228
2
задан 23 сентября 2011 в 12:09 Источник Поделиться
Комментарии
1 ответ

К сожалению. Вам нужно использовать две заявлением, поскольку вы обновляете двух разных таблиц.

2
ответ дан 24 сентября 2011 в 10:09 Источник Поделиться