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
Internal Server Error issues
This has been bothering me for weeks and I've been trying to solve it without asking for help, but e
does anyone know a php script to send mail using gmails/googles free smtp server
cause i heard u can do that but i dont know how
problem with php server update from mid 2009
Hi,
I have this navigation menu on 2 websites which used to work just fine. After a recent up
mails going in spam??
The mails I sent to folks in my database using mail(function) are going in spam??
Any idea ho
Shuffle Array
Hi,
I am writing a script for a game that needs players to randomly be assigned a target (ano
remove innitial and
tags
i am using tiny_mce as a text editor for my CMS.
buy now the problem is it add <p>
php form help
Hey,
I use a control file to set my meta tags and titles
Here's an example
Code: &a
Login Issue's
Code: <?php
$file = fopen('user.txt', 'r');
/* Set login to false initially */
Modal Popup Help
Hi guys, I have a modal popup with an iframe. How can i send data from a label or textbox to the ifr
Get last modified date of web page
Hai All,
In php how can i get last modified date of a give web page . I have tried to g