【发布时间】:2020-02-02 08:40:42
【问题描述】:
我正在尝试使用以下代码从 WAMP 服务器上的 PHP 中的 Oracle 获取数据,但是没有获取数据,我也没有收到任何错误。但是当我直接在 Oracle 上执行相同的查询时,我正在获取数据。此外,在同一个 php 文件中使用相同的连接参数,我可以为另一个查询获取数据
$server = "localhost";
$sid = "xe";
$user = "hrs";
$passwd = "hrs123";
$conn = oci_connect($user, $passwd, $server."/".$sid);
if (!$conn) {
$e = oci_error();
echo $m['message'], "\n";
exit;
}
else{
}
$staffno = test_input($_POST['field1']);
if($staffno!='')
{
$exempquery="select stno as stno, nvl(ffname,'')||' '||nvl(lname,'') as fname, substr(gradep,0,1) as grd, nvl(decode(sex,'M','MALE','F','FEMALE'),'') as sex, to_char(birth_dt,'dd-mm-yyyy') as birthdt, to_char(sep_dt,'dd-mm-yyyy') as sepdt, to_char(ret_dt,'dd-mm-yyyy') as retdt, sepdes from emp_master where stno='$staffno' and ((sep_dt<='31-03-2013' and ret_dt<='31-03-2013') or (sep_dt is null and ret_dt<='31-03-2013'))";
$exempstid=oci_parse($conn,$exempquery);
$exempchk=oci_execute($exempstid);
$exemprow=oci_fetch_array($exempstid, OCI_BOTH);
$name=$exemprow['FNAME'];
$grd=$exemprow['GRD'];
$sex=$exemprow['SEX'];
$birthdt=$exemprow['BIRTHDT'];
$sepdt=$exemprow['SEPDT'];
$retdt=$exemprow['RETDT'];
$sepdes=$exemprow['SEPDES'];
}
数据库连接工作正常。 任何帮助将不胜感激。
【问题讨论】:
-
检查
oci_parse是否返回false,如果是则显示oci_error()的内容。oci_execute -
试过了,但什么都没有显示
标签: php oracle wamp oracle-call-interface