读:
       $query2="select title from tablename;
              $stmt2 = OCIParse($conn,$query2) or die;  
              OCIDefineByName($stmt2,"TITLE",&$title);
              OCIExecute($stmt2);
              OCIFetch($stmt2);
              @OCIFreeStatement($stmt2);写:
     $queryadds="insert into tablename (id,title) values($id,'".$title."')";
                      $stmtadds = OCIParse($conn,$queryadds) or die;
                      $tts=OCIExecute($stmtadds) or die;
                      if($tts){
                        $errormessage="insert OK";
                      }
                      @OCIFreeStatement($stmtadds);

解决方案 »

  1.   

     @OCIFreeStatement($stmtadds); 是不是有点释放的意思啊为什么前面要加@?
    如果我的select中就有php变量怎么办
    $sql="select username from tablename where username=$username";
    $stmt=ociparse($conn,$sqlp) or die;
    ocidefinebyname($stmt,"username",&$username);
    是这样吗?
    连接呢
    $conn=ocilogon("username","password","sm");
    如果连接有错,如何发现
      

  2.   

    就是释放的意思~~前面加"@"的意思是不显示出错信息(如果有错误的话)$sql="select username from tablename where username='$username'";
                                                        ~~~~~~~~~~~~这样才行或者
    $sql="select username from tablename where username= ".$username;如果连接出错~~函数会返回false
      

  3.   

    如果用ora_logon("username","password");呢