第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

PHP - PL/SQL:如何將數(shù)組(作為 Oracle 過(guò)程的 OUT 參數(shù))讀入 PHP

PHP - PL/SQL:如何將數(shù)組(作為 Oracle 過(guò)程的 OUT 參數(shù))讀入 PHP

PHP
三國(guó)紛爭(zhēng) 2022-12-23 14:43:12
我的 Oracle 數(shù)據(jù)庫(kù)中有一個(gè)過(guò)程,其中有一個(gè)數(shù)組作為輸出參數(shù)。在此過(guò)程中,我將所有球隊(duì)及其積分放入一個(gè)數(shù)組中。create or replace package pck_tournamentas  type trranking  is record (            position  number       ,    team   VARCHAR2(20)       ,    points  number   );  type taranking is table of trranking;  procedure retrieve_ranking (oparray  out taranking);end pck_tournament;但是當(dāng)我嘗試用 PHP 調(diào)用這個(gè)過(guò)程時(shí),我總是會(huì)得到這樣的錯(cuò)誤:PLS-00306:調(diào)用“RETRIEVE_RANKING”時(shí)參數(shù)的數(shù)量或類型錯(cuò)誤這是我的 PHP 代碼的一部分:    $out_arr = array();       $stmt = oci_parse($conn, "BEGIN pck_tournament.retrieve_ranking(:taranking); END;");    oci_bind_array_by_name($stmt,":taranking", $out_arr, 10000, 10000, SQLT_CHR );    oci_execute($stmt); 如果我將 OUT 參數(shù)更改為 VARCHAR2 以進(jìn)行測(cè)試,我就能夠讀取結(jié)果。但如果它是一個(gè)數(shù)組,我就無(wú)法讓它工作。所以問(wèn)題一定是我使用了錯(cuò)誤類型的參數(shù)來(lái)存儲(chǔ)我的 OUT 參數(shù)?我搜索了很多網(wǎng)站,但仍然不知道如何進(jìn)行這項(xiàng)工作。
查看完整描述

1 回答

?
www說(shuō)

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊

你在 oracle 中擁有的不僅僅是一個(gè)數(shù)組,它是一個(gè)記錄數(shù)組......所以 PHP 中的標(biāo)準(zhǔn)數(shù)組將無(wú)法處理它。

根據(jù) Stack Overflow 上的以下問(wèn)題,您需要告訴 PHP Type 的外觀

PHP:將變量綁定到表類型輸出參數(shù)

所以使用下面的(替換你的類型和模式)

$table_output = oci_new_collection($conn,'some_table_type','schema');

另一個(gè)問(wèn)題也有一個(gè)很好的資源鏈接,可以找到更多關(guān)于這個(gè)的信息。

正如@MT0 所指出的,您還必須更改定義類型的方式。您可以按照建議將其更改為 object 或?qū)⑵浔A魹橛涗?,但主要更改是將聲明移到包之外?/p>

如果它們只在包中定義,PHP 將看不到它們。


查看完整回答
反對(duì) 回復(fù) 2022-12-23
  • 1 回答
  • 0 關(guān)注
  • 119 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)