2017-05-04 18:16:29 +02:00
|
|
|
--TEST--
|
|
|
|
various fetch types.
|
|
|
|
--SKIPIF--
|
2019-01-08 00:36:59 +01:00
|
|
|
<?php require('skipif_azure_dw.inc'); ?>
|
2017-05-04 18:16:29 +02:00
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
|
2017-10-04 23:22:56 +02:00
|
|
|
sqlsrv_configure('WarningsReturnAsErrors', 0);
|
|
|
|
sqlsrv_configure('LogSeverity', SQLSRV_LOG_SEVERITY_ALL);
|
2017-05-04 18:16:29 +02:00
|
|
|
|
2017-10-04 23:22:56 +02:00
|
|
|
require_once("MsCommon.inc");
|
|
|
|
|
|
|
|
$conn = connect();
|
|
|
|
if (!$conn) {
|
|
|
|
fatalError("connect failed");
|
2017-05-04 18:16:29 +02:00
|
|
|
}
|
|
|
|
|
2017-10-04 23:22:56 +02:00
|
|
|
$stmt = sqlsrv_query($conn, "SELECT * FROM [tracks];");
|
|
|
|
if ($stmt === false) {
|
|
|
|
fatalError("sqlsrv_query failed");
|
2017-05-04 18:16:29 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
$fetch_type = SQLSRV_FETCH_NUMERIC;
|
|
|
|
|
2017-10-04 23:22:56 +02:00
|
|
|
while ($row = sqlsrv_fetch_array($stmt, $fetch_type)) {
|
|
|
|
var_dump($row);
|
|
|
|
if ($fetch_type == SQLSRV_FETCH_NUMERIC) {
|
2017-05-04 18:16:29 +02:00
|
|
|
$fetch_type = SQLSRV_FETCH_ASSOC;
|
2017-10-04 23:22:56 +02:00
|
|
|
} elseif ($fetch_type == SQLSRV_FETCH_ASSOC) {
|
|
|
|
$fetch_type = SQLSRV_FETCH_BOTH;
|
|
|
|
} elseif ($fetch_type == SQLSRV_FETCH_BOTH) {
|
|
|
|
$fetch_type = SQLSRV_FETCH_NUMERIC;
|
2017-05-04 18:16:29 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// try some out of range values
|
2017-10-04 23:22:56 +02:00
|
|
|
$stmt = sqlsrv_query($conn, "SELECT * FROM [tracks];");
|
|
|
|
if ($stmt === false) {
|
|
|
|
fatalError("sqlsrv_query failed");
|
2017-05-04 18:16:29 +02:00
|
|
|
}
|
|
|
|
|
2017-10-04 23:22:56 +02:00
|
|
|
$row = sqlsrv_fetch_array($stmt, 0);
|
|
|
|
if ($row !== false) {
|
|
|
|
die("Invalid fetch type succeeded.");
|
2017-05-04 18:16:29 +02:00
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
print_r(sqlsrv_errors());
|
|
|
|
$row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_BOTH + 1);
|
|
|
|
if ($row !== false) {
|
|
|
|
die("Invalid fetch type succeeded.");
|
2017-05-04 18:16:29 +02:00
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
print_r(sqlsrv_errors());
|
2017-05-04 18:16:29 +02:00
|
|
|
|
2017-10-04 23:22:56 +02:00
|
|
|
sqlsrv_free_stmt($stmt);
|
|
|
|
sqlsrv_close($conn);
|
2017-05-04 18:16:29 +02:00
|
|
|
|
2017-10-04 23:22:56 +02:00
|
|
|
?>
|
2017-05-04 18:16:29 +02:00
|
|
|
--EXPECT--
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(13) "Casual Viewin"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(10) "Since When"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(10) "I Go Blind"
|
|
|
|
["track"]=>
|
|
|
|
string(10) "I Go Blind"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(8) "Blue Sky"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(10) "Lies To Me"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(8) "Baby Ran"
|
|
|
|
["track"]=>
|
|
|
|
string(8) "Baby Ran"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(7) "One Gun"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(11) "Ocean Pearl"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(12) "Love You All"
|
|
|
|
["track"]=>
|
|
|
|
string(12) "Love You All"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(16) "Nice To Love You"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(12) "Shes A Jones"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(11) "Sunday Girl"
|
|
|
|
["track"]=>
|
|
|
|
string(11) "Sunday Girl"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(11) "Lost & Lazy"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00005N8UI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(11) "Hells Bells"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000002JS6"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(15) "Shoot To Thrill"
|
|
|
|
["track"]=>
|
|
|
|
string(15) "Shoot To Thrill"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000002JS6"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000002JS6"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(30) "What Do You Do For Money Honey"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000002JS6"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(20) "Given The Dog A Bone"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000002JS6"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(27) "Let Me Put My Love Into You"
|
|
|
|
["track"]=>
|
|
|
|
string(27) "Let Me Put My Love Into You"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000002JS6"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000002JS6"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(13) "Back In Black"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000002JS6"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(27) "You Shook Me All Night Long"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000002JS6"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(18) "Have A Drink On Me"
|
|
|
|
["track"]=>
|
|
|
|
string(18) "Have A Drink On Me"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000002JS6"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000002JS6"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(11) "Shake A Leg"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000002JS6"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(34) "Rock And Roll Aint Noise Pollution"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000002JS6"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(15) "Highway To Hell"
|
|
|
|
["track"]=>
|
|
|
|
string(15) "Highway To Hell"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00008BXJG"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B00008BXJG"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(16) "Girls Got Rhythm"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00008BXJG"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(17) "Walk All Over You"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B00008BXJG"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(14) "Touch Too Much"
|
|
|
|
["track"]=>
|
|
|
|
string(14) "Touch Too Much"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00008BXJG"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B00008BXJG"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(23) "Beating Around The Bush"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00008BXJG"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(19) "Shot Down In Flames"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B00008BXJG"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(10) "Get It Hot"
|
|
|
|
["track"]=>
|
|
|
|
string(10) "Get It Hot"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00008BXJG"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B00008BXJG"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(32) "If You Want Blood (Youve Got It)"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00008BXJG"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(15) "Love Hungry Man"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B00008BXJG"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(13) "Night Prowler"
|
|
|
|
["track"]=>
|
|
|
|
string(13) "Night Prowler"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B00008BXJG"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B00008BXJG"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(20) "Good Times Bad Times"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000002J01"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(23) "Babe Im Gonna Leave You"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000002J01"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(12) "You Shook Me"
|
|
|
|
["track"]=>
|
|
|
|
string(12) "You Shook Me"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000002J01"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000002J01"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(18) "Dazed And Confused"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000002J01"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(23) "Your Time Is Gonna Come"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000002J01"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(19) "Black Mountain Side"
|
|
|
|
["track"]=>
|
|
|
|
string(19) "Black Mountain Side"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000002J01"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000002J01"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(23) "Communication Breakdown"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000002J01"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(20) "I Cant Quit You Baby"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000002J01"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(19) "How Many More Times"
|
|
|
|
["track"]=>
|
|
|
|
string(19) "How Many More Times"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000002J01"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000002J01"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(14) "Good Time Boys"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(13) "Higher Ground"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(15) "Subway To Venus"
|
|
|
|
["track"]=>
|
|
|
|
string(15) "Subway To Venus"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(13) "Magic Johnson"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(20) "Nobody Weird Like Me"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(13) "Knock Me Down"
|
|
|
|
["track"]=>
|
|
|
|
string(13) "Knock Me Down"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(14) "Taste The Pain"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(15) "Stone Cold Bush"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(4) "Fire"
|
|
|
|
["track"]=>
|
|
|
|
string(4) "Fire"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(19) "Pretty Little Ditty"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(17) "Punk Rock Classic"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(17) "Sexy Mexican Maid"
|
|
|
|
["track"]=>
|
|
|
|
string(17) "Sexy Mexican Maid"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(30) "Johnny, Kick A Hole In The Sky"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(42) "Song That Made Us What We Are Today (Demo)"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(37) "Knock Me Down (Original Long Version)"
|
|
|
|
["track"]=>
|
|
|
|
string(37) "Knock Me Down (Original Long Version)"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(41) "Sexy Mexican Maid (Original Long Version)"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
["track"]=>
|
|
|
|
string(23) "Salute To Kareem (Demo)"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(4) {
|
|
|
|
[0]=>
|
|
|
|
string(27) "Castles Made Of Sand (Live)"
|
|
|
|
["track"]=>
|
|
|
|
string(27) "Castles Made Of Sand (Live)"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
["asin"]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
array(2) {
|
|
|
|
[0]=>
|
|
|
|
string(24) "Crosstown Traffic (Live)"
|
|
|
|
[1]=>
|
|
|
|
string(10) "B000078DOI"
|
|
|
|
}
|
|
|
|
Array
|
|
|
|
(
|
|
|
|
[0] => Array
|
|
|
|
(
|
|
|
|
[0] => IMSSP
|
|
|
|
[SQLSTATE] => IMSSP
|
|
|
|
[1] => -10
|
|
|
|
[code] => -10
|
|
|
|
[2] => An invalid fetch type was specified. SQLSRV_FETCH_NUMERIC, SQLSRV_FETCH_ARRAY and SQLSRV_FETCH_BOTH are acceptable values.
|
|
|
|
[message] => An invalid fetch type was specified. SQLSRV_FETCH_NUMERIC, SQLSRV_FETCH_ARRAY and SQLSRV_FETCH_BOTH are acceptable values.
|
|
|
|
)
|
|
|
|
|
|
|
|
)
|
|
|
|
Array
|
|
|
|
(
|
|
|
|
[0] => Array
|
|
|
|
(
|
|
|
|
[0] => IMSSP
|
|
|
|
[SQLSTATE] => IMSSP
|
|
|
|
[1] => -10
|
|
|
|
[code] => -10
|
|
|
|
[2] => An invalid fetch type was specified. SQLSRV_FETCH_NUMERIC, SQLSRV_FETCH_ARRAY and SQLSRV_FETCH_BOTH are acceptable values.
|
|
|
|
[message] => An invalid fetch type was specified. SQLSRV_FETCH_NUMERIC, SQLSRV_FETCH_ARRAY and SQLSRV_FETCH_BOTH are acceptable values.
|
|
|
|
)
|
|
|
|
|
|
|
|
)
|