简体   繁体   English

PHP脚本中的ORA-00917

[英]ORA-00917 in php script

My php script is as follows: 我的PHP脚本如下:

if (!empty($_POST['action'])){
          PutEnv("TNS_ADMIN='C:\\Programy\\OracleDeveloper10g\\NETWORK\\ADMIN\\'");
          $conn = oci_connect('s14', 'sm19881', 'umain');
          if (!$conn)
          {
            $e = oci_error();
            print "Wygląda na to że mamy jakieś błędy\n";
            print htmlentities($e['message']);
            exit;
          }
          else
          {
            $stmt = oci_parse($conn, "INSERT INTO USERS (IS_SUPERUSER, ID, IS_ACTIVE, LAST_NAME, E_MAIL, ACCOUNT_NUMBER, FIRST_NAME, NIP, IS_STAFF, MOBILE_PHONE_NUMBER, USERNAME, AVG_EVALUATION) VALUES (0, NEXT_USER.NEXTVAL, 1, 'surname', 'email', '112233', 'name', '123', 0, '123', 'nick', 0.00");
            $execute = oci_execute($stmt, OCI_DEFAULT);
            if (!$execute){
              $e = oci_error($stmt);
              print "Wygląda na to że mamy jakieś błędy:\n";
              print htmlentities($e['message']);
              exit;
            }
            $message = 'Użytkownik został dodany';
          }
        }

When I try to execute it i receive ORA-00917: missing comma error in line with oci_execute() method. 当我尝试执行它时,我收到ORA-00917:与oci_execute()方法一致的缺少逗号错误。 Where should be this missing comma? 这个缺少的逗号应该在哪里?

You're actually missing the inner closing ) for the VALUES list. 您实际上缺少VALUES列表的内部结尾) The closing paren you have is just ending the oci_parse call. 您拥有的结束括号刚刚结束了oci_parse调用。

您未在VALUES中关闭结尾处的)

This: 这个:

$stmt = oci_parse($conn, "INSERT INTO USERS (IS_SUPERUSER, ID, IS_ACTIVE, LAST_NAME, E_MAIL, ACCOUNT_NUMBER, FIRST_NAME, NIP, IS_STAFF, MOBILE_PHONE_NUMBER, USERNAME, AVG_EVALUATION) VALUES (0, NEXT_USER.NEXTVAL, 1, 'surname', 'email', '112233', 'name', '123', 0, '123', 'nick', 0.00");

...should be: ...应该:

$stmt = oci_parse($conn, "INSERT INTO USERS (IS_SUPERUSER, ID, IS_ACTIVE, LAST_NAME, E_MAIL, ACCOUNT_NUMBER, FIRST_NAME, NIP, IS_STAFF, MOBILE_PHONE_NUMBER, USERNAME, AVG_EVALUATION) VALUES (0, NEXT_USER.NEXTVAL, 1, 'surname', 'email', '112233', 'name', '123', 0, '123', 'nick', 0.00"));

Scroll to the end to see the difference - the missing ) used to close the oci_parse method call. 滚动到末尾以查看区别-缺少的)用于关闭oci_parse方法调用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM