[英]how to send information form one page to another page using anchor tag and fetch data from database in php
[英]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.