Неустранимое исключение: java.lang.LinkageError. Для класса com.google.android.gms.ads.nonagon.signals.n не определен суперкласс.

Я написал две простые функции, которые дают ту же функциональность, что и $stmt->get_result();, но они не требуют драйвера mysqlnd.

Вы просто замените

$result = $stmt->get_result(); на $fields = bindAll($stmt);

и

$row= $stmt->get_result(); с $row = fetchRowAssoc($stmt, $fields);.

(Чтобы получить числа возвращаемых строк, вы можете использовать $stmt->num_rows.)

Вам просто нужно разместить эти две функции, которые я написал где-то в вашем PHP-скрипте. (например, справа внизу)

function bindAll($stmt) {
    $meta = $stmt->result_metadata();
    $fields = array();
    $fieldRefs = array();
    while ($field = $meta->fetch_field())
    {
        $fields[$field->name] = "";
        $fieldRefs[] = &$fields[$field->name];
    }

    call_user_func_array(array($stmt, 'bind_result'), $fieldRefs);
    $stmt->store_result();
    //var_dump($fields);
    return $fields;
}

function fetchRowAssoc($stmt, &$fields) {
    if ($stmt->fetch()) {
        return $fields;
    }
    return false;
}

Как это работает :

В моем коде используется функция $stmt->result_metadata();, чтобы выяснить, сколько и какие поля возвращаются, а затем автоматически привязывает полученные результаты к предварительно созданным ссылкам. Работает как очарование!

2
задан pradip tilala 18 February 2019 в 05:00
поделиться