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
53
Other forums
quick question
Hi ..
i have a question
how do i set a var so it displays via an echo
Code: $logo = '&a
Read from forum
Haven't written anything forever and I would like to get back.
What I'm trying to do is getting t
Auto-populating dropdowns and multiple forms.
Here's what I have so far:
First drop down = select a state (works)
This populates the sec
FAGL_FC_TRANSLATION FAS52 New GL ECC 6.0
Hello,
The new program for Translating GL Balances (FAS 52) gives the option to use diffe
Multidimensional array problems in $_POST
I'm having trouble with a three-dimensional $_POST array. It starts as a two-dimensional array on th
How To Make More Than One Redirection with PHP on the same page?
Hey im trying to do a direction page where it open differently link direction pages every time som
insert Multiple rows into the table from that table data
Hi All,
I have a requirement like to insert mulitple rows into the table from that
Changes to hosting company's server has affected web contact form
I started a thread a couple of months ago about the contact forms on my client's website. Basically
CRM?
I think that's what they're called. Customer Management System? Anyway. Is there any good free ones
parsing error
can anyone explain this syntax error:
Parse error: syntax error, unexpected T_IF
The e