0 votos

Problema tras realizar 2 consultas MYSQLI

Estor realizando 2 consultas una encima de otra este es el script:

$id_province=$_GET['id'];
$results = $conexion->prepare("SELECT id,distrit FROM g_distrits WHERE id_province=?");
$results->bind_param('i',$id_province);
$results->execute();
$results->bind_result($id,$distrit);

while($results->fetch()){
        $id_distrit=$id;
        $query="SELECT id FROM g_propertys WHERE id_distrit=?";
        $properties = $conexion->prepare($query);
        $properties->bind_param('i',$id_distrit);
        $properties->execute();
        $properties->store_result();

        $numrows = $properties->num_rows();
        echo $numrows;
        $properties->close();
}

Pero me vota el siguiente error: Fatal error: Call to a member function bind_param() on a non-object in /home4/include/consult/distrit.php on line 18

He estado revisando y resulta que si le coloco un $results->close(); en la parte de arriba y le asigno un distrito manualmente a $id_distrit ahi si me funciona, el problema esta en que si hago esto no me sirve de nada el while ya que una ves echo el close, ya no puedo ejecutar el while

1 votos

¿Has probado a debugear $id_distrit antes de pasarlo a bind_param() a ver si tienes un entero?

0 votos

Disculpa soy nuevo en programación orientada a objetos, a que te refieres con debugear?

1 votos

Creo que se refiere a que hagas un var_dump() de id_district para ver que tiene

0 votos

me vota lo siguiente: int(1322) Fatal error: Call to a member function bind_param() on a non-object in /home4/include/consult/distrit2.php on line 19 Si lee la asignación de $id_distrit y luego de eso ocurre el problema.

0 votos

Debe se estar dando algún error en el 'prepare', haz también un var_dump de $properties a ver que tienes ahí.

0 votos

Ya lo arregle estuve leyendo y se le tenia que agregar store_result(); en ambos casos prove haciéndolo y ya no generaba conflicto :D

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: