PHP - Catchable fatal error: Object of class mysqli could not be converted to string in ...

 
Vista:
sin imagen de perfil
Val: 27
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Catchable fatal error: Object of class mysqli could not be converted to string in ...

Publicado por Abi (14 intervenciones) el 22/06/2018 00:08:57
cita
horario
pac
prof

Tengo estas tablas los datos que necesito mostrar son nombre del paciente, nombre de profesional hora y dia de la cita, este es mi codigo para mostrarlo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$consulta = "SELECT DISTINCTROW
            CONCAT( profesional.nombre_apellido, ' ', profesional.ap_paterno )As nombre_apellido ,
            CONCAT( paciente.nombre, ' ' , paciente.apellido ) As nombre,control_cita.id_profe
            FROM control_cita
            INNER JOIN profesional ON control_cita.id_profe = profesional.id_prof
            INNER JOIN paciente ON control_cita.id_usupaciente = paciente.id_paciente";
//Ejecutar la consulta
$resultado= mysqli_query($link, $consulta) or mysqli_error();
 
//Se crea una tabla para mostrar los resultados
$tabla = "<center><table border='3' cellpadding='10'>\n</center>";
$tabla .= "<tr bgcolor='#B0C4DE'><th>Nombre de paciente</th><th>Nombre del doctor</th><th>Horario</th><th>Día</th></tr>\n";
//Extraer fila a fila con un b�cle while
while($fila = mysqli_fetch_assoc($resultado)){
$tabla .= "<tr>
      
       <td>".$fila["nombre"]."</td>
       <td>".$fila["nombre_apellido"]."</td>
       $consulta1 = 'SELECT hora FROM control_cita AS cc, horario AS h WHERE cc.id_usupaciente ='{$_POST['id_usupaciente']}'
                   AND cc.id_horario = h.id ORDER BY h.id';
       $resultado1= mysqli_query($link, $consulta1) or mysqli_error();
       <td>'$resultado1= while($query = mysqli_fetch_assoc($resultado1)){.fila{$_POST['id_horario']}.}'</td>
       <td>".$fila["diacita"]."</td>
       
      </tr>\n";
}
//Se cierra la tabla
$tabla .= "</table>\n";

y este es el error que me marca

Catchable fatal error: Object of class mysqli could not be converted to string in /home/u728085672/public_html/Citas/mostrar.php on line 99
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 xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Catchable fatal error: Object of class mysqli could not be converted to string in ...

Publicado por xve (6935 intervenciones) el 22/06/2018 08:36:22
Exactamente cual es la linea 99 del error?
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
sin imagen de perfil
Val: 127
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Catchable fatal error: Object of class mysqli could not be converted to string in ...

Publicado por Rrazo (55 intervenciones) el 22/06/2018 22:24:33
Creo que todo esto esta mal,
1
2
3
4
5
6
7
8
9
10
$tabla .= "<tr>
       <td>".$fila["nombre"]."</td>
       <td>".$fila["nombre_apellido"]."</td>
       $consulta1 = 'SELECT hora FROM control_cita AS cc, horario AS h WHERE cc.id_usupaciente ='{$_POST['id_usupaciente']}'
                   AND cc.id_horario = h.id ORDER BY h.id';
       $resultado1= mysqli_query($link, $consulta1) or mysqli_error();
       <td>'$resultado1= while($query = mysqli_fetch_assoc($resultado1)){.fila{$_POST['id_horario']}.}'</td>
       <td>".$fila["diacita"]."</td>
      </tr>\n";
}

Donde dice $consulta1 esta siendo parte del string llamado $tabla, en ningun momento estas cerrando esa variable y por lo mismo php no procesa como clase el $resultado1, estas haciendo una mezcladera de comilla simple y comilla doble, ademas tu select tambien esta mal, todos los valores que quieres traer de tu base de datos deben estar antes del FROM,

1
2
3
4
5
6
7
8
9
10
11
$tabla .= "<tr>
       <td>".$fila["nombre"]."</td>
       <td>".$fila["nombre_apellido"]."</td>";
       // aqui la segunda consulta la cual tambien esta mal declarada, debes corregirla
$consulta1 = 'SELECT hora FROM control_cita AS cc, horario AS h WHERE cc.id_usupaciente ='{$_POST['id_usupaciente']}'
                   AND cc.id_horario = h.id ORDER BY h.id';
       $resultado1= mysqli_query($link, $consulta1) or mysqli_error();
// y por ultimo continuar construyendo tu tabla
echo '<td>'$resultado1= while($query = mysqli_fetch_assoc($resultado1)){.fila{$_POST['id_horario']}.}'</td>
       <td>".$fila["diacita"]."</td>
      </tr>\n";    // Aqui el \n no tiene ningun caso porque la etiqueta </tr> lo que hace es cerrar la fila de la tabla


Analiza bien lo que quieres hacer y como recomendacion, estructura tu codigo en base a tabulaciones para que sea comprensible mas facilmente, este tipo de practicas $resultado1= while($query = mysqli_fetch_assoc($resultado1)){.fila{$_POST['id_horario']}.}' por "ahorrar espacio" te va a dificultar las cosas, incluso hay lenguajes que por ese tipo de cosas no compilan o no interpretan,,,
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