假设有:
 $statement = oci_parse($c , "select * from userdata where kind in (:getKind));使用:
 oci_bind_by_name("getKind","'U','S'");
这样不行,用
 oci_bind_by_name("getKind","U,S");
也不会正确返回需要的数据请问这样的语句应该怎么写。

解决方案 »

  1.   

    $statement = oci_parse($c , "select * from userdata where kind in (:getKind)); 
    oci_bind_by_name($statement,":getKind","'U','S'");
    试试
      

  2.   

    bool oci_bind_by_name ( resource stmt, string ph_name, mixed &variable [, int maxlength [, int type]] )
      

  3.   

    $statement oci_parse($c , "select * from userdata where kind in (:getKind)); oci_bind_by_name ($statement,":getKind","'U','S'"); 
    这写法不确定。
      

  4.   

    3楼的,你是说要用变量名作参数对吗?这我知道,只是懒得写完整而已,问题的重点是如何完成in查询。$statement = oci_parse($c , "select * from userdata where kind in (:getKind));使用:
    $x="'U','S'";
    oci_bind_by_name("getKind",$x);
    这样不行,用
    $x="U,S";
    oci_bind_by_name("getKind",$x);
    也不行。这样问你看懂没?如果只是百度语法给我就免了,我也会百度,我还可以告诉你写成:
    $statement = oci_parse($c , "select * from userdata where kind in (:getKindU,:getKindS));
    $x1="U";x2="S";
    oci_bind_by_name("getKindU",$x1);oci_bind_by_name("getKindS",$x2);
    其实就可以用。但是这种写法不灵活,属于投机取巧的,我想知道能完全符合in不定数目,不定值的写法是什么。
      

  5.   

    恩恩  好像就是oracle的东东~~