我目前使用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