我试图创建一个用PHP生成假期的函数。
我已将假日日期存储在Oracle Table中:
HOLIDAY
01-JAN-15
03-JAN-15
04-JAN-15
等
我的问题是,如何使功能获得假期日期?
我的意思是,我需要找出is_holiday(' 01-JAN-15')假期是真的。
这是我的源代码:
<?php
include "config/connect.php";
function is_holiday($thedate)
{
$sql = OCIParse($connect, "SELECT * FROM UF2T_HOLIDAY WHERE HOLIDAY = '".$thedate."'");
ociexecute($sql);
$result = oci_fetch_array($sql);
if(!empty($result[0]))
{
$holiday = "TRUE";
}
else
{
$holiday = "FALSE";
}
return $holiday;
}
echo is_holiday("08-JAN-15");
?>
&#13;
此代码不起作用并始终返回FALSE。 我应该做些什么来使这段代码有效?
其他信息: 我尝试在函数之外运行它,如下所示:
<?php
include "config/connect.php";
$thedate = '01-JAN-15';
$sql = OCIParse($connect, "SELECT HOLIDAY FROM UF2T_HOLIDAY WHERE HOLIDAY = '".$thedate."'");
ociexecute($sql);
$result = oci_fetch_array($sql);
if(!empty($result[0]))
{
$holiday = "TRUE";
}
else
{
$holiday = "FALSE";
}
echo $holiday;
?>
这段代码很有用。所以我认为问题在于功能。有什么建议吗?请帮忙。提前致谢。 对不起,我的英语不好。 :d
答案 0 :(得分:2)
我认为,问题是,你的函数中没有变量$ connect。试试这个:
function is_holiday($thedate, $connect)
然后调用函数:
echo is_holiday("08-JAN-15", $connect);
答案 1 :(得分:0)
默认情况下,PHP全局变量中的这些因素在函数中不可见。在您的情况下,函数内部的连接是一个局部变量,该值未定义。像这样改变你的功能:
function is_holiday($thedate)
{
global $connect;
$sql = OCIParse($connect, "SELECT * FROM UF2T_HOLIDAY WHERE HOLIDAY = '".$thedate."'");
ociexecute($sql);
...