fetch_all3.phpt 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593
  1. --TEST--
  2. oci_fetch_all() - all combinations of flags
  3. --EXTENSIONS--
  4. oci8
  5. --FILE--
  6. <?php
  7. require(__DIR__."/connect.inc");
  8. // Initialize
  9. $stmtarray = array(
  10. "drop table fetch_all3_tab",
  11. "create table fetch_all3_tab (id number, value number)",
  12. );
  13. oci8_test_sql_execute($c, $stmtarray);
  14. $insert_sql = "insert into fetch_all3_tab (id, value) values (:idbv,:vbv)";
  15. $s = oci_parse($c, $insert_sql);
  16. oci_bind_by_name($s, ":idbv", $idbv, -1, SQLT_INT);
  17. oci_bind_by_name($s, ":vbv", $vbv, -1, SQLT_INT);
  18. for ($i = 1; $i <= 4; $i++) {
  19. $idbv = $i;
  20. $vbv = -$i;
  21. oci_execute($s, OCI_DEFAULT);
  22. }
  23. oci_commit($c);
  24. // Run Test
  25. $select_sql = "select id, value from fetch_all3_tab order by id";
  26. $s = oci_parse($c, $select_sql);
  27. echo "None\n";
  28. oci_execute($s);
  29. var_dump(oci_fetch_all($s, $all, 0, -1));
  30. var_dump($all);
  31. echo "OCI_ASSOC\n";
  32. oci_execute($s);
  33. var_dump(oci_fetch_all($s, $all, 0, -1, OCI_ASSOC));
  34. var_dump($all);
  35. echo "OCI_FETCHSTATEMENT_BY_COLUMN\n";
  36. oci_execute($s);
  37. var_dump(oci_fetch_all($s, $all, 0, -1, OCI_FETCHSTATEMENT_BY_COLUMN));
  38. var_dump($all);
  39. echo "OCI_FETCHSTATEMENT_BY_COLUMN|OCI_ASSOC\n";
  40. oci_execute($s);
  41. var_dump(oci_fetch_all($s, $all, 0, -1, OCI_FETCHSTATEMENT_BY_COLUMN|OCI_ASSOC));
  42. var_dump($all);
  43. echo "OCI_FETCHSTATEMENT_BY_COLUMN|OCI_NUM\n";
  44. oci_execute($s);
  45. var_dump(oci_fetch_all($s, $all, 0, -1, OCI_FETCHSTATEMENT_BY_COLUMN|OCI_NUM));
  46. var_dump($all);
  47. echo "OCI_FETCHSTATEMENT_BY_COLUMN|OCI_NUM|OCI_ASSOC\n";
  48. oci_execute($s);
  49. var_dump(oci_fetch_all($s, $all, 0, -1, OCI_FETCHSTATEMENT_BY_COLUMN|OCI_NUM|OCI_ASSOC));
  50. var_dump($all);
  51. echo "OCI_FETCHSTATEMENT_BY_ROW\n";
  52. oci_execute($s);
  53. var_dump(oci_fetch_all($s, $all, 0, -1, OCI_FETCHSTATEMENT_BY_ROW));
  54. var_dump($all);
  55. echo "OCI_FETCHSTATEMENT_BY_ROW|OCI_ASSOC\n";
  56. oci_execute($s);
  57. var_dump(oci_fetch_all($s, $all, 0, -1, OCI_FETCHSTATEMENT_BY_ROW|OCI_ASSOC));
  58. var_dump($all);
  59. echo "OCI_FETCHSTATEMENT_BY_ROW|OCI_FETCHSTATEMENT_BY_COLUMN\n";
  60. oci_execute($s);
  61. var_dump(oci_fetch_all($s, $all, 0, -1, OCI_FETCHSTATEMENT_BY_ROW|OCI_FETCHSTATEMENT_BY_COLUMN));
  62. var_dump($all);
  63. echo "OCI_FETCHSTATEMENT_BY_ROW|OCI_FETCHSTATEMENT_BY_COLUMN|OCI_ASSOC\n";
  64. oci_execute($s);
  65. var_dump(oci_fetch_all($s, $all, 0, -1, OCI_FETCHSTATEMENT_BY_ROW|OCI_FETCHSTATEMENT_BY_COLUMN|OCI_ASSOC));
  66. var_dump($all);
  67. echo "OCI_FETCHSTATEMENT_BY_ROW|OCI_FETCHSTATEMENT_BY_COLUMN|OCI_NUM\n";
  68. oci_execute($s);
  69. var_dump(oci_fetch_all($s, $all, 0, -1, OCI_FETCHSTATEMENT_BY_ROW|OCI_FETCHSTATEMENT_BY_COLUMN|OCI_NUM));
  70. var_dump($all);
  71. echo "OCI_FETCHSTATEMENT_BY_ROW|OCI_FETCHSTATEMENT_BY_COLUMN|OCI_NUM|OCI_ASSOC\n";
  72. oci_execute($s);
  73. var_dump(oci_fetch_all($s, $all, 0, -1, OCI_FETCHSTATEMENT_BY_ROW|OCI_FETCHSTATEMENT_BY_COLUMN|OCI_NUM|OCI_ASSOC));
  74. var_dump($all);
  75. echo "OCI_FETCHSTATEMENT_BY_ROW|OCI_NUM\n";
  76. oci_execute($s);
  77. var_dump(oci_fetch_all($s, $all, 0, -1, OCI_FETCHSTATEMENT_BY_ROW|OCI_NUM));
  78. var_dump($all);
  79. echo "OCI_FETCHSTATEMENT_BY_ROW|OCI_NUM|OCI_ASSOC\n";
  80. oci_execute($s);
  81. var_dump(oci_fetch_all($s, $all, 0, -1, OCI_FETCHSTATEMENT_BY_ROW|OCI_NUM|OCI_ASSOC));
  82. var_dump($all);
  83. echo "OCI_NUM\n";
  84. oci_execute($s);
  85. var_dump(oci_fetch_all($s, $all, 0, -1, OCI_NUM));
  86. var_dump($all);
  87. echo "OCI_NUM|OCI_ASSOC\n";
  88. oci_execute($s);
  89. var_dump(oci_fetch_all($s, $all, 0, -1, OCI_NUM|OCI_ASSOC));
  90. var_dump($all);
  91. // Cleanup
  92. $stmtarray = array(
  93. "drop table fetch_all3_tab"
  94. );
  95. oci8_test_sql_execute($c, $stmtarray);
  96. echo "Done\n";
  97. ?>
  98. --EXPECT--
  99. None
  100. int(4)
  101. array(2) {
  102. ["ID"]=>
  103. array(4) {
  104. [0]=>
  105. string(1) "1"
  106. [1]=>
  107. string(1) "2"
  108. [2]=>
  109. string(1) "3"
  110. [3]=>
  111. string(1) "4"
  112. }
  113. ["VALUE"]=>
  114. array(4) {
  115. [0]=>
  116. string(2) "-1"
  117. [1]=>
  118. string(2) "-2"
  119. [2]=>
  120. string(2) "-3"
  121. [3]=>
  122. string(2) "-4"
  123. }
  124. }
  125. OCI_ASSOC
  126. int(4)
  127. array(2) {
  128. ["ID"]=>
  129. array(4) {
  130. [0]=>
  131. string(1) "1"
  132. [1]=>
  133. string(1) "2"
  134. [2]=>
  135. string(1) "3"
  136. [3]=>
  137. string(1) "4"
  138. }
  139. ["VALUE"]=>
  140. array(4) {
  141. [0]=>
  142. string(2) "-1"
  143. [1]=>
  144. string(2) "-2"
  145. [2]=>
  146. string(2) "-3"
  147. [3]=>
  148. string(2) "-4"
  149. }
  150. }
  151. OCI_FETCHSTATEMENT_BY_COLUMN
  152. int(4)
  153. array(2) {
  154. ["ID"]=>
  155. array(4) {
  156. [0]=>
  157. string(1) "1"
  158. [1]=>
  159. string(1) "2"
  160. [2]=>
  161. string(1) "3"
  162. [3]=>
  163. string(1) "4"
  164. }
  165. ["VALUE"]=>
  166. array(4) {
  167. [0]=>
  168. string(2) "-1"
  169. [1]=>
  170. string(2) "-2"
  171. [2]=>
  172. string(2) "-3"
  173. [3]=>
  174. string(2) "-4"
  175. }
  176. }
  177. OCI_FETCHSTATEMENT_BY_COLUMN|OCI_ASSOC
  178. int(4)
  179. array(2) {
  180. ["ID"]=>
  181. array(4) {
  182. [0]=>
  183. string(1) "1"
  184. [1]=>
  185. string(1) "2"
  186. [2]=>
  187. string(1) "3"
  188. [3]=>
  189. string(1) "4"
  190. }
  191. ["VALUE"]=>
  192. array(4) {
  193. [0]=>
  194. string(2) "-1"
  195. [1]=>
  196. string(2) "-2"
  197. [2]=>
  198. string(2) "-3"
  199. [3]=>
  200. string(2) "-4"
  201. }
  202. }
  203. OCI_FETCHSTATEMENT_BY_COLUMN|OCI_NUM
  204. int(4)
  205. array(2) {
  206. [0]=>
  207. array(4) {
  208. [0]=>
  209. string(1) "1"
  210. [1]=>
  211. string(1) "2"
  212. [2]=>
  213. string(1) "3"
  214. [3]=>
  215. string(1) "4"
  216. }
  217. [1]=>
  218. array(4) {
  219. [0]=>
  220. string(2) "-1"
  221. [1]=>
  222. string(2) "-2"
  223. [2]=>
  224. string(2) "-3"
  225. [3]=>
  226. string(2) "-4"
  227. }
  228. }
  229. OCI_FETCHSTATEMENT_BY_COLUMN|OCI_NUM|OCI_ASSOC
  230. int(4)
  231. array(2) {
  232. [0]=>
  233. array(4) {
  234. [0]=>
  235. string(1) "1"
  236. [1]=>
  237. string(1) "2"
  238. [2]=>
  239. string(1) "3"
  240. [3]=>
  241. string(1) "4"
  242. }
  243. [1]=>
  244. array(4) {
  245. [0]=>
  246. string(2) "-1"
  247. [1]=>
  248. string(2) "-2"
  249. [2]=>
  250. string(2) "-3"
  251. [3]=>
  252. string(2) "-4"
  253. }
  254. }
  255. OCI_FETCHSTATEMENT_BY_ROW
  256. int(4)
  257. array(4) {
  258. [0]=>
  259. array(2) {
  260. ["ID"]=>
  261. string(1) "1"
  262. ["VALUE"]=>
  263. string(2) "-1"
  264. }
  265. [1]=>
  266. array(2) {
  267. ["ID"]=>
  268. string(1) "2"
  269. ["VALUE"]=>
  270. string(2) "-2"
  271. }
  272. [2]=>
  273. array(2) {
  274. ["ID"]=>
  275. string(1) "3"
  276. ["VALUE"]=>
  277. string(2) "-3"
  278. }
  279. [3]=>
  280. array(2) {
  281. ["ID"]=>
  282. string(1) "4"
  283. ["VALUE"]=>
  284. string(2) "-4"
  285. }
  286. }
  287. OCI_FETCHSTATEMENT_BY_ROW|OCI_ASSOC
  288. int(4)
  289. array(4) {
  290. [0]=>
  291. array(2) {
  292. ["ID"]=>
  293. string(1) "1"
  294. ["VALUE"]=>
  295. string(2) "-1"
  296. }
  297. [1]=>
  298. array(2) {
  299. ["ID"]=>
  300. string(1) "2"
  301. ["VALUE"]=>
  302. string(2) "-2"
  303. }
  304. [2]=>
  305. array(2) {
  306. ["ID"]=>
  307. string(1) "3"
  308. ["VALUE"]=>
  309. string(2) "-3"
  310. }
  311. [3]=>
  312. array(2) {
  313. ["ID"]=>
  314. string(1) "4"
  315. ["VALUE"]=>
  316. string(2) "-4"
  317. }
  318. }
  319. OCI_FETCHSTATEMENT_BY_ROW|OCI_FETCHSTATEMENT_BY_COLUMN
  320. int(4)
  321. array(4) {
  322. [0]=>
  323. array(2) {
  324. ["ID"]=>
  325. string(1) "1"
  326. ["VALUE"]=>
  327. string(2) "-1"
  328. }
  329. [1]=>
  330. array(2) {
  331. ["ID"]=>
  332. string(1) "2"
  333. ["VALUE"]=>
  334. string(2) "-2"
  335. }
  336. [2]=>
  337. array(2) {
  338. ["ID"]=>
  339. string(1) "3"
  340. ["VALUE"]=>
  341. string(2) "-3"
  342. }
  343. [3]=>
  344. array(2) {
  345. ["ID"]=>
  346. string(1) "4"
  347. ["VALUE"]=>
  348. string(2) "-4"
  349. }
  350. }
  351. OCI_FETCHSTATEMENT_BY_ROW|OCI_FETCHSTATEMENT_BY_COLUMN|OCI_ASSOC
  352. int(4)
  353. array(4) {
  354. [0]=>
  355. array(2) {
  356. ["ID"]=>
  357. string(1) "1"
  358. ["VALUE"]=>
  359. string(2) "-1"
  360. }
  361. [1]=>
  362. array(2) {
  363. ["ID"]=>
  364. string(1) "2"
  365. ["VALUE"]=>
  366. string(2) "-2"
  367. }
  368. [2]=>
  369. array(2) {
  370. ["ID"]=>
  371. string(1) "3"
  372. ["VALUE"]=>
  373. string(2) "-3"
  374. }
  375. [3]=>
  376. array(2) {
  377. ["ID"]=>
  378. string(1) "4"
  379. ["VALUE"]=>
  380. string(2) "-4"
  381. }
  382. }
  383. OCI_FETCHSTATEMENT_BY_ROW|OCI_FETCHSTATEMENT_BY_COLUMN|OCI_NUM
  384. int(4)
  385. array(4) {
  386. [0]=>
  387. array(2) {
  388. [0]=>
  389. string(1) "1"
  390. [1]=>
  391. string(2) "-1"
  392. }
  393. [1]=>
  394. array(2) {
  395. [0]=>
  396. string(1) "2"
  397. [1]=>
  398. string(2) "-2"
  399. }
  400. [2]=>
  401. array(2) {
  402. [0]=>
  403. string(1) "3"
  404. [1]=>
  405. string(2) "-3"
  406. }
  407. [3]=>
  408. array(2) {
  409. [0]=>
  410. string(1) "4"
  411. [1]=>
  412. string(2) "-4"
  413. }
  414. }
  415. OCI_FETCHSTATEMENT_BY_ROW|OCI_FETCHSTATEMENT_BY_COLUMN|OCI_NUM|OCI_ASSOC
  416. int(4)
  417. array(4) {
  418. [0]=>
  419. array(2) {
  420. [0]=>
  421. string(1) "1"
  422. [1]=>
  423. string(2) "-1"
  424. }
  425. [1]=>
  426. array(2) {
  427. [0]=>
  428. string(1) "2"
  429. [1]=>
  430. string(2) "-2"
  431. }
  432. [2]=>
  433. array(2) {
  434. [0]=>
  435. string(1) "3"
  436. [1]=>
  437. string(2) "-3"
  438. }
  439. [3]=>
  440. array(2) {
  441. [0]=>
  442. string(1) "4"
  443. [1]=>
  444. string(2) "-4"
  445. }
  446. }
  447. OCI_FETCHSTATEMENT_BY_ROW|OCI_NUM
  448. int(4)
  449. array(4) {
  450. [0]=>
  451. array(2) {
  452. [0]=>
  453. string(1) "1"
  454. [1]=>
  455. string(2) "-1"
  456. }
  457. [1]=>
  458. array(2) {
  459. [0]=>
  460. string(1) "2"
  461. [1]=>
  462. string(2) "-2"
  463. }
  464. [2]=>
  465. array(2) {
  466. [0]=>
  467. string(1) "3"
  468. [1]=>
  469. string(2) "-3"
  470. }
  471. [3]=>
  472. array(2) {
  473. [0]=>
  474. string(1) "4"
  475. [1]=>
  476. string(2) "-4"
  477. }
  478. }
  479. OCI_FETCHSTATEMENT_BY_ROW|OCI_NUM|OCI_ASSOC
  480. int(4)
  481. array(4) {
  482. [0]=>
  483. array(2) {
  484. [0]=>
  485. string(1) "1"
  486. [1]=>
  487. string(2) "-1"
  488. }
  489. [1]=>
  490. array(2) {
  491. [0]=>
  492. string(1) "2"
  493. [1]=>
  494. string(2) "-2"
  495. }
  496. [2]=>
  497. array(2) {
  498. [0]=>
  499. string(1) "3"
  500. [1]=>
  501. string(2) "-3"
  502. }
  503. [3]=>
  504. array(2) {
  505. [0]=>
  506. string(1) "4"
  507. [1]=>
  508. string(2) "-4"
  509. }
  510. }
  511. OCI_NUM
  512. int(4)
  513. array(2) {
  514. [0]=>
  515. array(4) {
  516. [0]=>
  517. string(1) "1"
  518. [1]=>
  519. string(1) "2"
  520. [2]=>
  521. string(1) "3"
  522. [3]=>
  523. string(1) "4"
  524. }
  525. [1]=>
  526. array(4) {
  527. [0]=>
  528. string(2) "-1"
  529. [1]=>
  530. string(2) "-2"
  531. [2]=>
  532. string(2) "-3"
  533. [3]=>
  534. string(2) "-4"
  535. }
  536. }
  537. OCI_NUM|OCI_ASSOC
  538. int(4)
  539. array(2) {
  540. [0]=>
  541. array(4) {
  542. [0]=>
  543. string(1) "1"
  544. [1]=>
  545. string(1) "2"
  546. [2]=>
  547. string(1) "3"
  548. [3]=>
  549. string(1) "4"
  550. }
  551. [1]=>
  552. array(4) {
  553. [0]=>
  554. string(2) "-1"
  555. [1]=>
  556. string(2) "-2"
  557. [2]=>
  558. string(2) "-3"
  559. [3]=>
  560. string(2) "-4"
  561. }
  562. }
  563. Done