Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/01/2012, 11:19
sylarlocke
 
Fecha de Ingreso: junio-2011
Mensajes: 44
Antigüedad: 12 años, 10 meses
Puntos: 2
Warning: mysql_fetch_object()... No muestra el resultado BD

Hola que tal, llevo varios días intentando arreglar este código y no encuentro el fallo, ya he realizado varios cambios y sigo sin ver el por que falla, a ver si podeis echarme una manilla

La cuestión es que los datos cuando se ejecuta el script los almacena correctamente en la base de datos, pero a la hora de mostrarlos marca el siguiente error:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in ...

Código
Cita:
...
if ($_POST["calcular"])
{
$n1=$_POST['a'];
$n2=$_POST['b'];
$n3=$_POST['c'];
echo" El valor de a vale $n1"."<br>";
echo" El valor de b vale $n2"."<br>";
echo" El valor de c vale $n3"."<br><br>";
global $n1;
global $n2;
global $n3;


//Definimos la clase
class Aritmetica
{
//var $factor1=8;
//var $factor2=2;

function ecuacionsegundogrado()
{ //metodo
global $n1;
global $n2;
global $n3;
$discriminante=(pow($n2,2)-(4*$n1*$n3));//Lo asignamos a una variable--->(b2 - 4ac) se llama discriminante de la ecuación y permite averiguar en cada ecuación el número de soluciones

if ($discriminante<0)//La funcion pow sirve para calcular el exponente de una base pow( numbero $base , numbero $exp )
{
echo"No hay solución posible"."<br>";
}
else
{
$conexion=mysql_connect('localhost','root','')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('ecuacion')or die ('Error al seleccionar la Base de Datos: ');
$consulta=mysql_query("use ecuacion",$conexion);

$x1=(-$n2+pow($discriminante,1/2))/(2*$n1);//asignamos la variable $x1 la formula para el resultado positivo,ejemplo del calculo raiz cuadrada de el numero 8$raiz3de8 = pow(8,(1/3)) positivo
$x2=(-$n2-pow($discriminante,1/2))/(2*$n1);//igual que el primero pero en negativo
$vx1=round($x1,2);
$vx2=round($x2,2);

$consulta = mysql_query("insert into datos(a,b,c,positivo,negativo) values ($n1,$n2,$n3,$vx1,$vx2)")or die ('La consulta falló: ' . mysql_error());

echo"<table border=1><tr><th>A</th><th>B</th><th>C</th><th>Positivo</th><th>Negativo</th></tr>";
while ($registro = mysql_fetch_object($consulta))
{
echo"<tr><td>";
echo $registro->a;
echo"</td><td>";
echo $registro->b;
echo"</td><td>";
echo $registro->c;
echo"</td><td>";
echo $registro->positivo;
echo"</td><td>";
echo $registro->negativo;
echo" </td></tr>";
}
echo"</table>";
}
}

}
$objeto= new Aritmetica;
echo $objeto->ecuacionsegundogrado();//llamada al metodo
echo"<br>";
}
He mirado la sintaxis en la página oficial de php para comprobar si algo fallaba y según lo veo esta bien , supongo que alguna cosa estaré dejandome pero no doy con ella

Gracias

Un Saludo