PHP - Consulta a mysql no arroja datos

 
Vista:

Consulta a mysql no arroja datos

Publicado por andygamez (1 intervención) el 31/08/2016 04:43:15
Hola!!


Necesito ayuda!! estoy realizando una pagina para un consultorio medico donde quieren que al dar click al cliente aparezca su historico de pagos así como su adeudo y su balance.

al realizar la consulta a mysql con el cname y con el id no me arroja ningun dato!

dejo el codigo haber si me pueden ayudar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
include('../connect.php');
$tftft=$_GET['cname'];
$resulta = $db->prepare("SELECT * FROM sales WHERE invoice_number= :a");
$resulta->bindParam(':a', $tftft);
$resulta->execute();
for($i=0; $rowa = $resulta->fetch(); $i++){
$name=$rowa['name'];
$amount=$rowa['amount'];
}
$resultas = $db->prepare("SELECT * FROM customer WHERE customer_name= :b");
$resultas->bindParam(':b', $name);
$resultas->execute();
for($i=0; $rowas = $resultas->fetch(); $i++){
echo 'Name : '.$rowas['customer_name'].'<br>';
echo 'Address : '.$rowas['address'].'<br>';
echo 'Contact : '.$rowas['contact'].'<br>';
}
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Developer

Consulta a mysql no arroja datos

Publicado por Developer (52 intervenciones) el 02/09/2016 23:44:59
Hola amigo..
la forma en que estás queriendo recorrer tus resultados está mal... incluso.. desde la misma forma de recorrer el for!

for($i=0; $rowas = $resultas->fetch(); $i++) ..

esa línea no creo que tenga mucho sentido, investiga algún ejemplo de como recorrer tus resultados, seguro encuentras varios por internet
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Víctor
Val: 152
Ha disminuido su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta a mysql no arroja datos

Publicado por Víctor (192 intervenciones) el 03/09/2016 07:39:56
Hola:

No entiendo para qué utilizas sentencias preparadas si sólo las ejecutas una vez, excepto que sea para investigar.

Como muy bien dice Developer el primer for no tiene ningún sentido ya que vas colocando los resultados de una fila en $name y $amount y en la siguiente iteración los pierdes al escribir en la misma variable los resultados de la siguiente fila.

A partir de la linea 11 haces otra consulta preparada para buscar información del último nombre encontrado. La variable $amount no se usa, ni tampoco $i en ninguno de los dos for.

Es mejor que:
1) No uses sentencias preparadas
2) Uses ciclos while en vez de for

De todas formas debería darte algún resultado, salvo que el parámetro cname no se corresponda con ningún contenido de la base de datos.

Por otro lado dices "al realizar la consulta a mysql con el cname y con el id no me arroja ningun dato!" ¿qué es el id?

Saludos de Víctor.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar