У меня есть одна php-страница, которая подключается к базе данных oracle и извлекает некоторые данные на основе некоторого пользовательского ввода.Здесь, в этом случае, как только пользователь введет user_id и отправит его, мой код получит еще некоторые данные (REQUEST_TIME, WORKFLOW_NAME, EVENT_MESSAGE) этого пользователя.Я использую код ниже, и я не уверен, правильно ли я это делаю.Я получаю сообщение об ошибке ниже:
Предупреждение: oci_execute (): ORA-00904: «USER_ID»: неверный идентификатор в D: \ SVN \ TOOLBOX_WEB \ WEBContent \ admin \ V2 \ public \ ssn \ index2.php на линии 36
Может кто-нибудь, пожалуйста, руководство, как действовать.
Это моя страница 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>