tengo un problema realizando una consulta en sql llamandolo desde el amfphp:
El codigo php de la clase q estoy usando, junto a la consulta es:
Código PHP :
<?php
class generarInformePrimero
{
/**
Varibles para la conecxion a la BD
*/
var $sqlstring = "";
var $server = "localhost";
var $user = "root";
var $pass = "";
var $database = "sist_gestion2";
/**
Varibles a utilizar
*/
var $db = 0;
var $rs = 0;
var $row = 0;
var $recordcount = 0;
var $EOF = true;
function _conectarBaseDatos()
{
$this->db = mysql_connect($this->server,$this->user,$this->pass);
mysql_select_db($this->database,$this->db) or die(mysql_error());
}
function _ejecutarQuery($strSql)
{
$this->sqlstring = $strSql;
$this->_exec_command();
return $this->lastid;
}
function _exec_command()
{
if ($this->db && $this->sqlstring!="")
{
$this->rs = mysql_query($this->sqlstring,$this->db);
if ($this->rs)
{
$this->EOF = true;
$this->recordcount = mysql_affected_rows();
$this->lastid = mysql_insert_id();
}
else
{
$this->recordcount = 0;
$this->EOF = true;
}
}
else
{
$this->recordcount = 0;
$this->EOF = true;
}
}
function _destruir()
{
if($this->db)
mysql_close($this->db);
}
/**
* Este método sirve para poder recuperar los datos pertenecientes a un sucursale en un periodo determinado
* @returns Regresa el informe con los datos solicitados.
*/
function obtenerResultados()
{
$this->_conectarBaseDatos();
$sql = "DROP TEMPORARY TABLE IF EXISTS brutas;
DROP TEMPORARY TABLE IF EXISTS netas;
CREATE TEMPORARY TABLE brutas(
SELECT v.BILLING_ID,v.date, v.BRANCH_ID, sum(pr.PRICE*lv.QUANTITY) bruto
FROM billing v
INNER JOIN billing_detail lv
ON v.BILLING_ID = lv.BILLING_ID
INNER JOIN products p
ON lv.PRODUCT_ID=p.product_id
INNER JOIN prices pr
ON pr.PRODUCT_ID=p.product_id
WHERE v.REGION='EAST' AND v.BRANCH_ID=2
AND v.DATE BETWEEN '2006-01-01' AND '2009-08-31'
AND pr.DATE= (SELECT MAX(pre.DATE)
FROM prices pre
WHERE pre.DATE <= v.DATE AND p.product_id = pre.product_id)
group by v.BILLING_ID);
CREATE TEMPORARY TABLE netas(
SELECT brutas.billing_id, brutas.date, brutas.branch_id sucursal, brutas.bruto,
IF( brutas.bruto >= discounts.TOTAL_BILLING,brutas.bruto * (1 - discounts.PERCENTAGE/100), brutas.bruto) neto
FROM brutas JOIN discounts
WHERE discounts.from = (SELECT MAX(des.from)
FROM discounts des
WHERE des.FROM <= brutas.DATE));
select YEAR(netas.date) anio, sucursal, if (MONTH(netas.date)<4,1, if (month(netas.date)<7,2, if (MONTH(netas.date)<10,3,4))) trimestre,
sum(netas.neto) monto
from netas
group by anio, trimestre;";
$result = mysql_query($sql);
$cant = 0;
$this->_destruir();
return($result);
}
}
?>
Si la ejecuto desde un programa particula (EMS SQL), me devuelve los datos correctamente, pero en AMFPHP, lo unico que me devuelve es false...
Si podrian ayudarme se los agradeceria.
Saludos
