0

メソッドとして PDO 拡張機能を使用して、MySQL ストアド プロシージャ コールから行セットを返そうとしています。

function searchByExtension($extension_num) 
{

    $stmt = $this->pdo->prepare("{CALL select_call(?)}");
    $stmt->bindParam(1, $extension_num, PDO::PARAM_INT, 11);
    $stmt->setFetchMode(PDO::FETCH_NUM);
    $stmt->execute();

    $rows = $stmt->fetchAll();

    if(!$rows){
        print 'Error!';
        die();
    }

    foreach ($rows as $row){
        print $row[0].$row[1].$row[2].$row[4].$row[5].$row[6]."\n<br>";
    }

}

だからへの呼び出し

$call_log->searchByExtension(2458412);

それに応じて結果をブラウザに出力するデータセットをループしますが、飛ばないだけです。スクリプトが届く

print 'Error!';

そして正当に死ぬ?SP はシェルから正常に動作します。

4

1 に答える 1

-1

これを試して...

function searchByExtension($extension_num) 
{
    $stmt = $this->pdo->prepare("CALL select_call(:input_extensionNum);");
    $stmt->bindParam(":input_extensionNum", $extension_num, PDO::PARAM_INT, 11);

    //$stmt->setFetchMode(PDO::FETCH_NUM);
    $stmt->execute();

    $rows = $stmt->fetchAll();

    if(!$rows){
        print 'Error!';
        die();
    }

    foreach ($rows as $row){
        print $row[0].$row[1].$row[2].$row[4].$row[5].$row[6]."\n<br>";
    }

}
于 2013-11-28T21:53:22.197 に答える