不好意思
上面的程序漏掉了一段,以下是完整的:
错误信息:
Warning: ociexecute(): OCIStmtExecute: ORA-00917: missing comma in /home/yifuhu/public_html/update.php on line 33
bool(false) Unable to connect:Code:
<?php
$connection = OCILogon ("yifuhu", "yifu!(82", "SSID");if (!$connection){
echo "Unable to connect:" . var_dump( OCIError() );
exit;
}
echo ("Connetion is "."$connection"."<br>");
$now_date=date("d-m-Y.");$name=$HTTP_POST_VARS['name'];
$type=$HTTP_POST_VARS['type'];
$os=$HTTP_POST_VARS['os'];
$size=$HTTP_POST_VARS['size'];
$developer=$HTTP_POST_VARS['developer'];
$homepage=$HTTP_POST_VARS['homepage'];
$description=$HTTP_POST_VARS['description'];$query = "INSERT INTO yifuhu.Products ".
         "VALUES (".
         "P_ID.NEXTVAL ".
         "$name, $type, $os, $size, $developer, $homepage, $description,".
         "to_date($now_date, 'dd/mm/yyyy')".
         ");";  
$cursor = OCIParse ($connection, $query);
if(!$cursor) {
echo "Unable to connect:" . var_dump( OCIError() );
exit;
}$result=OCIExecute($cursor, OCI_DEFAULT); //问题就在这一行(33)if(!$result) {
echo "Unable to connect:" . var_dump( OCIError() );
exit;
}$committed = OCICommit ($connection);
if(!$committed){
echo "Unable to connect:" . var_dump( OCIError() );
}OCILogoff ($connection);
?>

解决方案 »

  1.   

    应该没错?echo出来去sqlplus里面调试了吗?
      

  2.   

    应该是27行 $cursor = OCIParse ($connection, $query);里$query的问题吧
    $query语句:
    $query = "INSERT INTO yifuhu.Products ".
             "VALUES (".
             "\"P_ID.NEXTVAL ,".
             "$name, $type, $os, $size, $developer, $homepage, $description,".
             "to_date($now_date, 'dd/mm/yyyy')".
             \");";
      

  3.   

    写错了,应该是
    应该是27行 $cursor = OCIParse ($connection, $query);里$query的问题吧
    $query语句:
    $query = "INSERT INTO yifuhu.Products ".
             "VALUES (".
             "\"P_ID.NEXTVAL ,".
             "$name, $type, $os, $size, $developer, $homepage, $description,".
             "to_date($now_date, 'dd/mm/yyyy')".
             "\"");";
      

  4.   

    "insert into yifuhu.Products values('$name','$type','$os',$size,'$developer','$homepage','description',today('$now_date','dd/mmm/yyyy'))";
    总之,如果字段类型是字符型的就加‘’
    还有如果不行的话你可以加一段
    <?if(!$result) {
    msgbox("sql:".$query);
    }
    function msgbox($msg)
    {?>
    <script language="javascript">
    alert($msg);
    </script>
    <?}?>看看sql错在哪里
      

  5.   

    太谢谢各位了,经过仔细的研究和对比,我发现了问题,有两点:
    1. zeaz() 兄,提到过的,字段要加‘’oracle才能正确的识别。
    2. 还有就是不知道是oracle9还是我的PHP编译器会自动在每一句sql语句的结尾加上“;”所以我的程序总是有错误。
    好啦,现在问题是解决了,感谢各位帮忙!谢谢!
    发分!!!