php - OCI_NO_DATA oci8 oracle 错误

标签 php oracle plsql oracle10g

我在 Oracle 函数执行中遇到问题。我有一个表 loginfo(username,password,type) 并且我有一个像这样的函数:

CREATE OR REPLACE FUNCTION login(name in varchar2,pass in varchar2 )
    RETURN integer
    IS 
    v_type integer;
    BEGIN 
    Select loginfo.type 
    INTO v_type from loginfo
    where loginfo.username=name 
    and loginfo.password=pass;
    RETURN (v_type); 
    END;

我有两种类型的登录信息;类型 1 和 2。如果我从 php 调用此函数并使用应返回类型 1 的参数,它就会返回类型 1。当我使用应返回类型 2 的参数调用此函数时,它会在 PHP 页面中返回错误 OCI_NO_DATA。但是,当我从 Oracle 调用函数时,它返回 2。

当我的参数为 username = '8801716560946'password = '123456' 时,它应该返回类型 2。

最佳答案

OCI_NO_DATA 表示没有与您在表中传入的参数相匹配的行。我敢打赌,当您从 PHP 调用该函数时,您会传递不同的参数。例如,也许您在一种情况下传递带有一些附加空格的字符串,而在另一种情况下则不传递。

关于php - OCI_NO_DATA oci8 oracle 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10019019/

相关文章:

php - header() 的第一个参数 ($string) 无效,在使用第三个参数 ($http_response_code) 时无效

java - Camel "Succesfull delivery acknowledgements"

oracle - 可编辑 View 和编辑 View 之间的区别?

oracle - 为什么 Oracle 会在导入后锁定我的架构的统计信息?

php - 如何在 php 中像 python argparse 一样获得 getop() 的高级用法

php - Linux 的 cron 是异步的还是同步的?

sql - 有没有办法在 plsql 中将日期格式化为仅显示月份和年份?

sql - 如何在 PL/SQL 中将引用游标中的数据批量插入到临时表中

php - 如何在codeigniter中获取多个插入的id

SQL确定当前周是否为包含N个月份的周