Там какой-либо путь состоит в том, чтобы распечатать фактический запрос, который выполняют mysqli-> (), делает?

У меня есть сложный запрос, который выполняется как это:

if ($stmt = $dbi->prepare($pt_query)) {   
        $stmt->bind_param('ssssssssi', $snome,$scognome,$ssocieta,$svia,$slocalita,$sprovincia,$scap,$stelefono,$sfax,$uid);
        $stmt->execute();           
        echo $dbi->error;
        $stmt->close();

    } else {
        printf("Error -> %s\n", $dbi->error);
    }

Эта вещь перестала работать без любой ошибки, она просто не обновляет базу данных. С тех пор существует тонна данных, которые рассматривают перед этой вещью я хотел бы знать, существует ли какой-либо способ показать фактический запрос, что mysqli выполняется для понимания, где проблема.

Спасибо.

9
задан 0plus1 22 April 2010 в 14:31
поделиться

3 ответа

Если ваш оператор не работает, вы должны проверить $ stmt-> error (в отличие от $ dbi-> error ). Что касается получения фактического текста запроса: это невозможно. При использовании подготовленных операторов библиотека использует специальный протокол, который не генерирует фактическую строку запроса для каждого вызова -> execute () .

9
ответ дан 4 December 2019 в 14:27
поделиться

На основе веб-сайта PHP mysql нет реального способа сделать это. Но вы можете попробовать эту функцию , поскольку она выдает ошибки в вашем запросе.

0
ответ дан 4 December 2019 в 14:27
поделиться

Вы можете включить ведение журнала в самой базе данных MySQL , т.е. добавьте строку log = logfile в my.ini.

Обратитесь к документации MySQL для получения дополнительной информации, если это необходимо.

5
ответ дан 4 December 2019 в 14:27
поделиться
Другие вопросы по тегам:

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