Вывод из оператора PDO - PullRequest
       11

Вывод из оператора PDO

0 голосов
/ 28 марта 2012

Может кто-нибудь определить, где я могу ошибаться, используя следующий код?

<?php

    //MySQL Database Connect
    require 'config.php';
    $unitFrom = "kilogram";
    $unitTo = "gram";
    $units = "9000";

    try{
    require 'config.php';
    $stmt = $dbh->prepare('CALL sp_get_conversion(:in_unit_from, :in_unit_to, :in_amount, @out_amount)');
    $stmt->bindParam(':in_unit_from',$unitFrom,PDO::PARAM_STR,4000);
    $stmt->bindParam(':in_unit_to',$unitTo,PDO::PARAM_STR,4000);
    $stmt->bindParam(':in_amount',$units,PDO::PARAM_STR,4000);
    $stmt->execute();
    }
    catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();

    $conversion = $dbh->query( "SELECT @out_amount" )->fetchColumn(); 
    echo $conversion;

    }   
?>

Когда я запускаю хранимую процедуру в phpmyadmin, она работает нормально, но при попытке выполнения кода выше ничего не отображается.

Спасибо

Ответы [ 2 ]

2 голосов
/ 28 марта 2012

В блоке try должно быть следующее:

$conversion = $dbh->query( "SELECT @out_amount" )->fetchColumn(); 
echo $conversion;

В настоящее время он есть в блоке catch, поэтому он будет выполняться только в случае возникновения исключения.

1 голос
/ 28 марта 2012

Попробуйте обработать вашу ошибку, как продиктовано здесь .Это то, как я всегда работал с проблемами PDO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...