php:使用PDO OCI执行查询

时间:2013-09-24 10:44:25

标签: php oracle pdo

我正在尝试执行简单的脚本,但无法获得结果。

$id = $_GET['contract'];
$dsn = 'oci:dbname=xxx.xxx.xx';
$user = 'xxxx';
$pass = 'xxxx';

try{
    $conn = new PDO($dsn, $user, $pass);

    $stmt = $conn->prepare('SELECT * FROM DOGOVOR.CONTRACT CTR WHERE CTR.CONTRACTORNUMDOC = ?');
    $stmt->execute(array($id));
    $row = $stmt->fetch(PDO::FETCH_ASSOC);
}
catch (PDOException $e){
    echo $e->getMessage();
}

var_dump($row);

结果 - 布尔(假)。没有错误。 如果我只尝试查询“SELECT * FROM DOGOVOR.CONTRACT”,那么一切正常。需要说$ id取cyrilic值。可能是charset或其他什么问题? Oracle 9i。 PHP 5.2。

1 个答案:

答案 0 :(得分:0)

尝试此查询:

SELECT CTR.* FROM DOGOVOR.CONTRACT CTR WHERE CTR.CONTRACTORNUMDOC = ?

您错过了CTR.*

或更简单:

SELECT * FROM DOGOVOR.CONTRACT WHERE CONTRACTORNUMDOC = ?