簡體   English   中英

如何使用在另一個php頁面的一個html頁面中定義的用戶輸入從Oracle數據庫中獲取數據

[英]how to use a user input defined in one html page in another php page to fetch data from oracle database

我有一個php頁面,它連接到oracle數據庫並根據一些用戶輸入獲取一些數據。 在這種情況下,一旦用戶輸入user_id並提交,我的代碼將獲取該用戶的更多數據(REQUEST_TIME,WORKFLOW_NAME,EVENT_MESSAGE)。 我正在運行下面的代碼,並且我不確定自己是否執行正確。 我得到以下錯誤:

警告:oci_execute():ORA-00904:“ USER_ID”:第36行的D:\\ SVN \\ TOOLBOX_WEB \\ WEBContent \\ admin \\ V2 \\ public \\ ssn \\ index2.php中的標識符無效

有人可以指導,如何進行。

這是我的php頁面:

<pre><?php

include('mypage.php');
class logAgent
{
    const CONFIG_FILENAME = "data_config.ini";

    private $_dbConn;
    private $_config;

    function __construct()
    {
        $this->_loadConfig();


        $this->_dbConn = oci_connect($this->_config['db_usrnm'],
            $this->_config['db_pwd'],
            $this->_config['hostnm_sid']);
    }
    private function _loadConfig()
    {
        // Loads config
        $path = dirname(__FILE__) . '/' . self::CONFIG_FILENAME;
        $this->_config = parse_ini_file($path) ;
    }
    public function fetchLogs() {
        $uid =$_POST["USER_ID"];

        $sql = "SELECT REQUEST_TIME,WORKFLOW_NAME,EVENT_MESSAGE
                            FROM AUTH_LOGS WHERE USER_ID = '".$uid."'";

        //Preparing an Oracle statement for execution
        $statement = oci_parse($this->_dbConn, $sql);

        //Executing statement
        oci_execute($statement);
        while (($row = oci_fetch_row($statement)) != false) {
            foreach ($row as $item) {
                echo $item . " ";
            }
            echo "\n";
        }
    }
}
?>

mypage.php

 <!DOCTYPE html> <html> <head> <title>User_Logs</title> </head> <body> <?php if ($_SERVER["REQUEST_METHOD"] == "POST"){ $uid =$_POST["USER_ID"]; $logAgent = new logAgent(); $logAgent->fetchLogs(); } ?> <form method="POST" id="form-add" action="index2.php"> USER_ID: <input type="text" name="USER_ID"/><br> <input type="submit" name="submit" value="Get_Logs"/> </form> </body> </html> 

根據您的錯誤,oracle在抱怨找不到USER_ID字段。 查看php文件中的SELECT語句,oracle希望該字段位於您的AUTH_LOGS表中。 檢查以確保您正確拼寫了字段名稱,或者該字段存在於表中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM