I am creating a client in php, which consumes a web service in php, when trying to execute the client in the browser a message appears,
Warning: Invalid argument supplied for foreach () in C: \ xampp \ htdocs \ 04_soap_mysql \ index.php on line 14
Do you know how to correct the warning message?
Below I show you the customer code
<?php
require_once "lib/nusoap.php"; // referencia de una libreria para utilizar una de sus funciones internas
// la linea inferior hace una instacia del servicio web y creamos un objeto llamado cliente que usa el servicio web
$cliente = new nusoap_client ("http://localhost/04_soap_mysql/soap_server.php");
$libros = $cliente->call("MuestraLibros"); // llamado del servicio
$planetas = $cliente->call("MuestraPlanetas");
// impresión de los renglons
echo "<h2>Mis libros</h2>";
echo "<ul>";
echo $planetas;
foreach($libros as $renglon)
{
echo '<li>';
echo '<strong>'.$renglon['autor'].'</strong><br>';
echo $renglon['titulo'];
echo '<br><br></li>';
}
echo "</ul>";
?>
The web service function
// la conexión del servidor y la aplicación
$mi_usuario = "root";
$mi_contrasenia = "";
$direccion = "localhost";
$mi_bd = "phpws";
$conexion = mysqli_connect($direccion, $mi_usuario, $mi_contrasenia, $mi_bd)
or die("no se puede conectar a la base de datos".mysql_error());
// inica Muestra libros
function MuestraLibros()
{
$consulta = "SELECT * FROM libros";
$resultadoConsulta = mysqli_query($conexion, $consulta);
while($tabla = mysqli_fetch_array($resultadoConsulta))
{
$contenido = $contenido."<tr>
<td>".$contenido['autor']."</td>
<td>".$contenido['titulo']."</td>
</tr>";
}
return $contenido;
}
// termina MuestroLibros