所以,我需要使用php爲了通過一個過程從我的數據庫中提取一些信息。 我的代碼存在問題,我無法實現。oci_fetch_all()中的無效號碼
我有以下步驟:
CREATE OR REPLACE PROCEDURE example(
input IN varchar2,
p1 OUT SYS_REFCURSOR)
AS
BEGIN
OPEN p1 FOR
SELECT title
FROM book
WHERE gen LIKE '_' + input + '%'
ORDER BY gen;
END;
,這裏是我的PHP代碼:
$curs = oci_new_cursor($con);
$stmt = oci_parse($con, "begin example(:input, :data); end;");
$word = 'S';
oci_bind_by_name($stmt, "input", $word);
oci_bind_by_name($stmt, "data", $curs, -1, OCI_B_CURSOR);
oci_execute($stmt);
oci_execute($curs);
$nr_rows = oci_fetch_all($curs, $data, null, null, OCI_FETCHSTATEMENT_BY_COLUMN);
我認爲的代碼寫得好,但是對於一些奇怪的原因,我得到這個錯誤
「警告:oci_fetch_all():ORA-01722:C中的無效數字:..」
我試過了在程序中投射,但錯誤仍然存在。
的選擇,我正在尋找的是以下幾點:
SELECT title
FROM book
WHERE gen LIKE '_S%'
ORDER BY gen;
任何想法?
我不知道這是否會奏效,我發表了一條評論,並解釋了我的方法來順利解決問題。我需要找到該項目以驗證,我會搜索並回答。 – hepifish