[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Каr дебагить запросы в PDO
Страницы: 1, 2, 3, 4
SoMeOnE
Никак не могу найти
Допустим есть такой запрос
$sql = 'INSERT INTO `adv_company_list`(`company_name`, `company_status`) VALUES (:other_company_txt, :status)';
$result = $db->prepare($sql);
$result->execute(array(
':other_company_txt' => $_SESSION['other_company_txt'],
':status' => 'on'
));


Как я могу расспечатать только выражение запроса, чтобы протестировать его допустим непосредствено в phpmyadmin
glock18
Никогда не видел готовых вариантов под это. Тем более что запросы подготовленные на стороне сервера выполняются наиболее вероятно. Обычно дампаю запрос, и дампаю параметры, подставляю их и выполняю в mysql-клиенте (тот же phpma)

Можно так же выполнять их по prepare/execute в этом клиенте, но разницы большой не будет
SoMeOnE
А если у меня добавление 30 полей )
Может перенаследовать метод execute, и добавить какую нибудь опцию. Что бы допустим при включенной опции возвращал мне сам запрос тоже ?
Как правильней
SoMeOnE
Пытаюсь заюзать это. http://www.php.net/manual/en/pdostatement....gdumpparams.php
Чет ничего не вводит (( )
SoMeOnE
Цитата (Winston @ 27.06.2013 - 07:51)
http://stackoverflow.com/questions/7716785...uery-in-php-pdo ?

Вроде то, но пока не получается прикрутить )
SoMeOnE
Не то возвращает. Value с NULL. Наверное не то делаю что то. потом еще посмотрю
freed-master
может поможет)
я пользуюсь такой конструкцией:
// Перехват PDO ошибок
function try_execute($data)
{
try {
$res = $data->execute();
}
catch (PDOException $error) {
sc_pdo_error($error);
}
return $res;
}

// Вывод PDO ошибок
function pdo_error($error)
{
$getCode = $error->getCode();
$getMess = $error->getMessage();
$getFile = $error->getFile();
$getLine = $error->getLine();
$getTrace = $error->getTrace();

echo '<b>[PHP PDO Error ' . $getCode . ']</b><br><br>

<table border="0">
<tr><td align="right"><b>Mess:</b></td><td><i>'
. $getMess . '</i></td></tr>
<tr><td align="right"><b>Code:</b></td><td><i>'
. $getCode . '</i></td></tr>
<tr><td align="right"><b>File:</b></td><td><i>'
. $getFile . '</i></td></tr>
<tr><td align="right"><b>Line:</b></td><td><i>'
. $getLine . '</i></td></tr>
</table>'
;

echo '<br /><b>Trace:</b><table border="0">';
foreach ($getTrace as $a => $b) {
foreach ($b as $c => $d) {
if ($c == 'args') {
foreach ($d as $e => $f) {
echo '<tr><td><b>' . $a . '#</b></td><td align="right">args:</td> <td>' . $e . ':</td><td><i>' . $f . '</i></td></tr>';
}
}

else {
echo '<tr><td><b>' . $a . '#</b></td><td align="right">' . $c . ':</td><td></td><td><i>' . $d . '</i></td>';
}
}
}

echo '</table>';
exit;
}


_____________
Всем, кто заинтересован, могу помочь начать зарабатывать на forex.
Пишите в личку или на e-mail: flash-dirt@yandex.ru
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.