1

HTMLフォームを表示するPHPページがあります。フォームを送信する準備ができたら、以下に含めたページのPHPセクションを使用してOracleデータベースにアップロードします。

ただし、何が間違っているのかわかりません。データベースを確認し、データが読み込まれていませんが、画面にエラーも表示されていません。

PHPを使用してHTMLフォームデータをOracleDBに適切にアップロードする方法を教えてもらえますか?

誰かが私のコードが機能しない原因を指摘できますか?

ありがとうございました。

<?php
require_once ("xmlrpc.inc");
require_once ("globals.php");
class form
{
    public static function run()
    {
      ini_set('display_errors', 'On');
      error_reporting(E_ALL | E_STRICT);

      $conn = oci_connect("username", "password", "path/to");
      if (!$conn) 
      {
        $m = oci_error();
        echo $m['message'], "\n";
        exit;
      }
      else 
      {
        //print "You are connected to the VTC database!<br/>";
      }

      $issueType = $_POST['issueType'];
      $summary = $_POST['summary'];
      $endPointName = $_POST['endPointName'];
      $contactFirstName = $_POST['contactFirstName'];
      $contactLastName = $_POST['contactLastName'];
      $contactEmail = $_POST['contactEmail'];
      $contactPhone = $_POST['contactPhone'];
      $description = $_POST['description'];
      $solution = $_POST['solution'];
      $ticketNumber = $_POST['ticketNumber'];
      $resolved = $_POST['resolved'];
      $agency = $_POST['agency'];

      $insert = 'INSERT INTO VTC_HELPDESK_ISSUES(ISSUE_TYPE,ISSUE_SHORT,ENDPOINT_NAME,CONTACT_FIRST_NAME,CONTACT_LAST_NAME,CONTACT_EMAIL,CONTACT_PHONE,ISSUE_DESC,SOLUTION,OTHER_COMPANY_TICKET_NUM,RESOLVED,AGENCY) '.
             'VALUES(:issueType, :summary, :endPointName, :contactFirstName, :contactLastName, :contactEmail, :contactPhone, :description, :solution, :ticketNumber, :resolved, :agency)';

      $send = oci_parse($conn, $insert);

      //Binding makes it harder to submit anything directly to the Oracle DB
      oci_bind_by_name($send, ':issueType', $issueType);
      oci_bind_by_name($send, ':summary', $summary);
      oci_bind_by_name($send, ':endPointName', $endPointName);
      oci_bind_by_name($send, ':contactFirstName', $contactFirstName);
      oci_bind_by_name($send, ':contactLastName', $contactLastName);
      oci_bind_by_name($send, ':contactEmail', $contactEmail);
      oci_bind_by_name($send, ':contactPhone', $contactPhone);
      oci_bind_by_name($send, ':description', $description);
      oci_bind_by_name($send, ':solution', $solution);
      oci_bind_by_name($send, ':ticketNumber', $ticketNumber);
      oci_bind_by_name($send, ':resolved', $resolved);
      oci_bind_by_name($send, ':agency', $agency);

      oci_execute($send);
    }
}
?>
4

1 に答える 1

0

テーブルで許可されていない値を挿入しようとしているか、テーブル名または列名をタイプミスしている可能性があります。Mat が言ったように、oci_execute が失敗した場合は oci_error をエコーし​​ます

if (! oci_execute($send)) {
    var_dump(oci_error()); 
}
于 2013-01-02T13:57:46.797 に答える