相同的查询和不同的结果sql/plus php
我使用Oracle11g,我不知道为什么我的查询在使用SQL/PLUS和PHP时返回不同的结果相同的查询和不同的结果sql/plus php,php,oracle,sqlplus,Php,Oracle,Sqlplus,我使用Oracle11g,我不知道为什么我的查询在使用SQL/PLUS和PHP时返回不同的结果 <?php $conn=oci_connect('system','3636','orcl'); $stid = oci_parse($conn, "SELECT num_chb FROM chambre WHERE num_chb NOT IN (SELECT DISTINCT r.num_chb FROM chambre c, reservati
<?php
$conn=oci_connect('system','3636','orcl');
$stid = oci_parse($conn,
"SELECT num_chb
FROM chambre
WHERE num_chb NOT IN
(SELECT DISTINCT r.num_chb
FROM chambre c,
reservation r
WHERE (TO_DATE('2015-12-13','YYYY-MM-DD') NOT BETWEEN r.dat_arriv AND r.dat_depart)
AND (TO_DATE('2015-12-14','YYYY-MM-DD') NOT BETWEEN r.dat_arriv AND r.dat_depart)");
oci_execute($stid);
$tab=array();
while ($row = oci_fetch_assoc($stid)) {
$tab[]=$row['NUM_CHB'];
}
print_r($tab);
}
?>
我看到了不同的查询:
PHP:
甲骨文:
SELECT num_chb
FROM chambre
WHERE num_chb NOT IN
(SELECT DISTINCT r.num_chb
FROM chambre c,
reservation r
WHERE (TO_DATE('2015-12-13','YYYY-MM-DD') NOT BETWEEN r.dat_arriv AND r.dat_depart)
AND (TO_DATE('2015-12-14','YYYY-MM-DD') NOT BETWEEN r.dat_arriv AND r.dat_depart)
AND (r.dat_arriv TO_DATE('2015-12-13','YYYY-MM-DD') NOT BETWEEN AND TO_DATE('2015-12-14','YYYY-MM-DD'))
AND (r.dat_depart NOT BETWEEN TO_DATE('2015-12-14','YYYY-MM-DD') TO_DATE('2015-12-14','YYYY-MM-DD'))
我不能评论
再检查一遍 我看到了不同的查询:
PHP:
甲骨文:
SELECT num_chb
FROM chambre
WHERE num_chb NOT IN
(SELECT DISTINCT r.num_chb
FROM chambre c,
reservation r
WHERE (TO_DATE('2015-12-13','YYYY-MM-DD') NOT BETWEEN r.dat_arriv AND r.dat_depart)
AND (TO_DATE('2015-12-14','YYYY-MM-DD') NOT BETWEEN r.dat_arriv AND r.dat_depart)
AND (r.dat_arriv TO_DATE('2015-12-13','YYYY-MM-DD') NOT BETWEEN AND TO_DATE('2015-12-14','YYYY-MM-DD'))
AND (r.dat_depart NOT BETWEEN TO_DATE('2015-12-14','YYYY-MM-DD') TO_DATE('2015-12-14','YYYY-MM-DD'))
我不能评论
再检查一遍 您确定这两个示例(PHP和SqlPlus)都连接在同一个数据库上吗?为什么要为Oracle/sql*PLUS问题指定MySQL和sql server标记?您的系统
帐户密码是3636
?您确定这两个示例(PHP和SqlPlus)都正确吗正在连接同一数据库?为什么要为Oracle/sql*PLUS问题指定MySQL和sql server标记?您的系统
帐户密码是3636
?