Почему запрос MySQL не выполняется? [Дубликат]

Краткий ответ: ваш метод foo() возвращается немедленно, а вызов $ajax() выполняется асинхронно после возврата функции . Проблема заключается в том, как и где сохранить результаты, полученные при вызове async, после его возврата.

В этом потоке было задано несколько решений. Возможно, самый простой способ - передать объект методу foo() и сохранить результаты в члене этого объекта после завершения асинхронного вызова.

function foo(result) {
    $.ajax({
        url: '...',
        success: function(response) {
            result.response = response;   // Store the async result
        }
    });
}

var result = { response: null };   // Object to hold the async result
foo(result);                       // Returns before the async completes

Обратите внимание, что вызов foo() ] все равно не вернут ничего полезного. Однако результат асинхронного вызова теперь будет сохранен в result.response.

2
задан Eric 20 December 2014 в 12:42
поделиться

1 ответ

Используя расширение Mysqli, которое вы можете реализовать, вы можете запускать несколько запросов с помощью mysqli_multi_query:

$sql = "UPDATE user SET password = '$new_password' WHERE temp_url = '$temp_code';";
$sql .= "UPDATE user SET temp_url = '' WHERE user_name = '$user_name_frmdb';";

// Execute multi query
if (mysqli_multi_query($con, $sql)) {
    // Query successful
}
1
ответ дан Eric 26 August 2018 в 07:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: