Intentando resolver esto, probé realizando una nueva conexión a la BD en la función que invoca al PA que guarda los datos y de esa forma sí funciona, aquí está el código:
Código PHP:
Ver original<?php
function guardarForm($conexion, $datos) {
//Conexión a la base de datos
$servidor = "localhost"; //Nombre del servidor
$usuario = "root"; //Nombre de usuario en tu servidor
$password = "phpdeveloper"; //Contraseña del usuario
$base = "bd_formulario"; //Nombre de la Base de Datos
//Se realiza la conexión
$conexion2 = mysqli_connect($servidor, $usuario, $password) or
die ("Error al conectarse al servidor");
//Si se logra realizar la conexión a la Base de Datos
if ($conexion2)
//Se selecciona la base de datos con la que se trabajará
return mysqli_query($conexion2, sprintf("CALL USP_saveForm('%s', '%s', '%s', '%s', '%s', '%s', %d, %d)", $datos["codigo"],
$datos["nombre"],
$datos["apellidos"],
$datos["email"],
$datos["domicilio"],
$datos["fechanac"],
$datos["pais"],
$datos["ciudad"]
));
}
?>
Pareciera que el problema es con la variable de conexión, sin embargo, como podrán apreciar en los bloques de código
que detallé antes, las otras funciones reciben la misma variable de conexión y las consultas con los PA se realizan de forma exitosa, para comprobarlo, imprimí los resultados de cada consulta y se mostraron los datos que pedí.
En el código del archivo
procesar.php que detallo al inicio de este tema, envío a la función
guardarForm() el archivo de conexión y el array con los datos, imprimí los datos dentro de la función, antes del llamado al PA y se mostraron todos, incluso probé con la siguiente línea para saber si el archivo de conexión llegaba bien:
Código PHP:
Ver original<?php
echo $conexion ? "Bien" : "Mal";
?>
La línea de código anterior siempre imprime "Bien", mientras que cuando imprimo la variable de conexión con la función
var_dump(), el resultado es
"object(mysqli)#2 (0) { }", imagino que es porque no contiene valores, lo mismo se imprime si coloco esa línea de código en el mismo archivo de conexión.
¿Alguien tiene idea de qué pueda estar sucediendo?