簡體   English   中英

PDO:選擇將最后一列提取為NULL

[英]PDO: select fetch last columns as NULL

當我從帶有PDO的ODBC中選擇數據(在PHP中)時,某些列被提取為NULL,但在數據庫中卻存在數據。 在我用odbc_ *函數執行相同查詢的地方,它工作正常。

這是我使用的代碼

$sql = "SELECT * FROM table WHERE rowid = 123456";
$connection = odbc_connect("Velocis RDS", $usr, $pwd);
$result = odbc_exec($connection, $sql);
while ($data = odbc_fetch_array($result)) {
  print_r($data);
}

這樣,所有列都可以正確獲取:

$connection = new PDO("odbc:Velocis RDS", $usr, $pwd);
$stmt = $dbConn->prepare("SELECT * FROM table WHERE rowid = 123456");
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$stmt->execute();
print_r($stmt->fetchAll());

使用此代碼,最后9列作為NULL提取。 此列沒有什么特別的。 它包含文本或數字。

任何幫助,將不勝感激。 提前致謝。

實際上,我在使用id字段的其他類型的數據庫中遇到了完全相同的問題,但是其他數據庫則通過pdo_odbc返回了null,並與odbc一起工作了100%。 經過大量研究,我遇到了類似問題的PHP錯誤報告(Bug#61573),但為我找出解決方法鋪平了道路。


嘗試將字段強制類型轉換為VARCHAR 這對我有用。 問題是pdo_odbc不能與odbc可以使用的幾種類型一起使用。


供參考或仍然需要,請包括PHP版本和表架構,因為這些對於找出修復程序很重要。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM