В настоящее время я запрашиваю базу данных sybase с использованием PHP на Windows Server 2012 R2 с использованием ODBC PDO. Когда я запускаю типичный оператор select, такой как «SELECT * FROM sysobjects WHERE type = 'U», он, похоже, взорвал массив, который ставит последнее значение предыдущего ключа в качестве первого значения текущего ключа, например:Sybase запросил через значения дубликатов PHP
"[UID] => 101 [2] => 101 [тип] => U [3] => U [userstat] => 0 [4] => 0 [Sysstat] => 0"
Как вы можете видеть, элемент «101», который завершает индекс индекса [uid], повторяется в начале индекса [2], а «=> U» в конце индекса [2] повторяется в начале индекса [3] , и т. д. - это продолжается через весь массив взрыва. Это кажется неправильным - кто-нибудь имеет представление о том, почему это происходит и каково будет решение (если это ненормально?). Если это полезно, я включаю 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