powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как получить строку запроса после выполнения execute?
6 сообщений из 6, страница 1 из 1
Как получить строку запроса после выполнения execute?
    #32819301
Проблема такая необходимо в лог(таблица logs) записать sql запрос...
делаю так:
my $sql = "insert into item(cardid, shopid, name, price, bonus, date, account) values(?,?,?,?,?,current_timestamp,?)";

my $sth = $dbh->prepare($sql);
$sth->execute($id, $shop, $name, $price, ($bonusbuy eq "")?0:1, $account);

т.е DBI подставляет вместо "?" значения $id, итд, таким образом подготавливается запрос и выполняется...

вот мне нужно этот подготовленный запрос запихнуть в лог...
не подскажите как это сделать... Может там метод есть у $dbh который возвращает строку запроса...
...
Рейтинг: 0 / 0
Как получить строку запроса после выполнения execute?
    #32819409
knockler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почему нельзя сначала собрать выражение, записать его куда надо, а только потом сдавать в $sth:
Код: plaintext
1.
2.
3.
my $sql = "insert into item(cardid, shopid, name, price, bonus, date, account) values('" . $id . .... ."')";
print LOG $sql; # ну или куда там писать...
my $sth = $dbh->prepare($sql);
Вокруг переменных - одинарные кавычки (если вдруг не очень заметно).

Если был неправ - объясните, в чём... Спасибо
...
Рейтинг: 0 / 0
Как получить строку запроса после выполнения execute?
    #32819437
Понятно, что так можно, но это криво.
К тому же так делать не принято, и точки зрения безопасности - не лучший вариант. Там точно есть какой-то метод только вот какой...?
...
Рейтинг: 0 / 0
Как получить строку запроса после выполнения execute?
    #32819445
knockler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"кривое" записать в лог, "прямое" - выполнять
...
Рейтинг: 0 / 0
Как получить строку запроса после выполнения execute?
    #32819488
ну :) ... все энто ясно было с самого начала...
Поставим иначе вопрос, ...

Есть ли метод у объекта $dbh, который возвратит обработанный запрос?
...
Рейтинг: 0 / 0
Как получить строку запроса после выполнения execute?
    #32819646
sky2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Врятли такое сделаешь
запрос после prepare хранится уже на сервере
во время execute выполняется на основе параметров

--
http://jcatki.no-ip.org/c++/bart.jpg
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как получить строку запроса после выполнения execute?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]