我目前使用ODBC PDO在Windows Server 2012 R2上使用PHP查詢一個sybase數據庫。當我運行一個典型的select語句,比如「SELECT * FROM sysobjects WHERE type ='U'」時,它看起來像是在拋出一個將前一個鍵的最後一個值作爲當前鍵的第一個值的數組,如下所示:Sybase通過PHP查詢重複值
「[UID] => 101 [2] => 101 [類型] => U [3] => U [userstat] => 0 [4] => 0 [SYSSTAT] => 0」
正如你所看到的,在索引[2]的開始處重複[uid]索引的「101」元素在索引[3]的開始處重複索引[2]結尾處的「=> U」 ,等等 - 這貫穿整個陣列爆炸。這看起來不正確 - 有沒有人有一個想法,爲什麼會發生這種情況,解決方案是什麼(如果這是不正常的?)。如果有幫助,我會包含以下PHP:
<?php
//[BD]---Display All Errors
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
echo "Boom! <br /><br />";
//[BD]---Try the Connection
try {
//Connection Variables
$dsn = "odbc:Database";
$username = "user";
$password = "password";
//Connection String
$conn = new PDO($dsn, $username, $password);
//Initiating Error Detection
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
//[BD]---Catch exceptions to the Try
catch(Exception $e) {
echo "Invalid Connection";
//Print Error Messages
die(print_r($e->getMessage()));
}
//[BD]---SQL Statement(s)
/*
----------List of Tables----------
*/
$stmt = $conn->prepare("SELECT * FROM sysobjects WHERE type = 'U'");
//[BD]---Execute SQL Statement
$stmt->execute();
while ($row = $stmt->fetch()) {
print_r($row);
echo "<br />";
}
echo "<br />Connected Successfully";
?>
謝謝user3137702! – user4333011