作者erho (ptt访客)
看板PHP
标题[请益] 请问OCI8处理SQL查询的问题
时间Thu Oct 12 11:29:44 2017
$c=oci_connect('AAA','BBB','192.168.1.1/health','zht16big5');
$sql="SELECT A,B,C,D FROM TABLE";
$stid = OCIParse($c, $sql);
OCIExecute($stid, OCI_DEFAULT);
while ($row = OCI_Fetch_row($stid)) {
list ($a,$b,$c,$d)=$row;
}
若有查询结果没有问题,但若没有任何资料列被选取,
WHILE不会进,要用什麽函式去处理无资料
处理无资料是指,上面的程式若没查询结果会是空白网页,
起码要有画面回应无资料
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.161.102.67
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1507778987.A.86F.html
※ 编辑: erho (218.161.102.67), 10/12/2017 11:47:16
1F:→ MOONRAKER: if (没资料) { echo "没资料"; } 10/12 14:09
2F:→ MOONRAKER: 这不是超简单的 10/12 14:09
这样会跳错误吧,真的没方法去判断OCIExecute是否有查询结果吗
※ 编辑: erho (218.161.102.67), 10/12/2017 14:36:34
3F:→ MOONRAKER: 为什麽会跳错误 10/12 16:47
4F:→ swallowcc: 他该不会真的以为贴上 "没资料" 这几个字吧... 10/13 11:39
会跳错的原因是if括号内要expr而不是string,
找oci8函式找不到检查没资料的对应函式,
我只能每次检查看有没有进while
我会提问是我是写不出这个if的expr,
是我对oci8函式理解有误还是真的没有
※ 编辑: erho (218.161.102.67), 10/13/2017 13:27:03
5F:→ MOONRAKER: 每次检查看有没有进while有什麽不好吗 10/13 13:42
6F:→ MOONRAKER: 用一个flag还是counter就可以了 10/13 13:43