Strange Oracle Query problem


Posted on 16th Feb 2014 07:03 pm by admin

Ok So I have this PHP class that talks to a Javascript class that basically creates a table of information from a database query and puts it in a sortable, filterable table. This all works fine and dandy.

Well, i have had the need for some semi-dynamic functionality (changing the table of the query, or changing some other detail) which I accomplished using GETS. This also worked perfectly

I wanted to try to add some AJAX functionality in place of the GET functionality, so I changed things around a bit, and now I am sending an xmlhttprequest to my php page. this requests fine. however, I do not get back the information I want. Here is the PHP page that I send the request to


require('page.php');
function getAssoc($query, $table){
$svname = 'list_users';
$svuser = 'dmitriyy';
$svpass = 'dmitriyy';
$oracle = new oracle($svname, $svuser, $svpass);
//var_dump($oracle);
$query = str_replace('REPLACE_ME', $table, $query);
//var_dump($query);
//echo $query."<br />";
//echo "execute is here bitch";
echo $query;
$execute = $oracle->query$query);
while(OCIFetchInto($execute, $results, OCI_ASSOC)){
if ($data == null){
$data = array();
$data[] = $results;
}
else {
$data[] = $results;
}
}
return $data;

}

$query = $_GET['q'];
$table = $_GET['t'];

print_r(getAssoc($query, $table));
echo "done with print_r";
//echo json_encode(getAssoc($query, $table));


page.php (just a small class that does some oracle database connection and query stuff. This class DOES work, as I use it everywhere)

class oracle {
//class variables
var $connection;

/*Constructor
*Input (Server name, server usename, server password. By default
*server name is localhost, and password and user are blank
*returns true if connection was successful, false if not
*/
function oracle($svname, $svuser, $svpass){
//echo "<script type='text/javascript'>alert('".$svname."');</script>";
try {
$conn = oci_connect($svuser, $svpass, $svname);
if (!$conn){
throw new Exception("Error");
}
}
catch(Exception $e){
trigger_error($e->getMessage());
exit();
}
$this->connection = $conn;
if (!$conn){
echo "<script type='text/javascript'>alert('COULD NOT CONNECT');</script>";
return false;
}
return true;
}//end Constructor

//class functions

/*query_valid
*Input: A query String
*Returns the string if it is valid. String cannot have insert or update commands
*returns false if it does
*/
public function is_valid($string){
$temp = strtoupper($string);
$invalid_commands = array("INSERT", "DELETE", "UPDATE", "DROP", "TRUNCATE", "APPEND");
foreach($invalid_commands as $c){
if (strpos($temp, $c) !== false){
return false;
}
}
return true;
}

/*query
*Input: A (hopefully valid) oracle query
*returns the parsed query if execution was valid
*returns false if not
*/
public function query($query){
if (!$this->is_valid($query)){
die ("Query Contains Illegal Command! Exiting script");
}

$do = oci_parse($this->connection, $query);
$go = oci_execute($do);

if (!$go){
return false;
}
return $do;
}

/*BubbleSort2
*Sorts a 2d array, based on a certain column (sorts numerically)
*returns the sorted array
*/
public function BubbleSort2($sort_array,$column = 0,$reverse = true){
$lunghezza=count($sort_array);
for ($i = 0; $i < $lunghezza ; $i++){
for ($j = $i + 1; $j < $lunghezza ; $j++){
if($reverse){
if ($sort_array[$i][$column] < $sort_array[$j][$column]){
$tmp = $sort_array[$i];
$sort_array[$i] = $sort_array[$j];
$sort_array[$j] = $tmp;
}
}else{
if ($sort_array[$i][$column] > $sort_array[$j][$column]){
$tmp = $sort_array[$i];
$sort_array[$i] = $sort_array[$j];
$sort_array[$j] = $tmp;
}
}
}
}
return $sort_array;
}

}


ignore the bubblesort

On the ajax page (the first snippet) everything seems to work fine until I try to build that data array. It just returns empty. I have verified that it is the exact same query on the main page (which executes the query successfully) and the ajax page.

One thing to note. I pass the query from php to javascript, and then back to PHP again. I use json_decode when passing to javascript from PHP. However, this doesn't seem to have an effect on the query, as I checked them, and they appear to be the same. Im really at a loss for why this isn't working.

is what i'm trying to do possible? I think it is but im not sure any more... anyone have any insight

No comments posted yet

Your Answer:

Login to answer
186 Like 53 Dislike
Previous forums Next forums
Other forums

Send current URL in URL with a $_GET variable problem.
Hello community,

I have created a function that gets the current variable of a page, example:

File upload issues
Hi Guys,

Can anyone see any issues with this code:
Code: $setImage= 'productimages/' . dat

Impact of movement type 412 E on MAP
Hi

Usage of movement type 412 E is causing huge change in MAP .

Is there any r

Change of partner analyse in sales orders
Hello,

I changed the partner analyse for sales orders and added a new mandatory partnerro

User registration and login
I don't know whether this is the correct forum, if not i apologise but am pretty desperate at the mo

Big O & time complexity ???
can you help me how to calculate the Big O & time complexity for any algorithm and c++ program pleas

Execure stored procedure on a timer
Can someone tell me an easier way to execute a stored procedure on a timer? I am using Oracle 10g R

Redistributing dependent dlls
Hai all ,

I have created an application in VC++ using VS2008 in a development machine which r

PHP and Javascript
Hi Guys,

Im trying to load the contents of an html file into a text area for editing, this is

Only add new information from XML to MySQL
What I am doing, is taking a xml file, and adding the values to a database. However, what I want to

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash