该代码带来了相应的参数,并没有显示任何错误或异常,我不知道为什么它不执行存储过程中编程的内容,帮助!为什么存储过程不运行?
这是MySQL的存储过程:
DELIMITER //
DROP PROCEDURE IF EXISTS prueba.CAMBIA_A_ACTIVO //
CREATE PROCEDURE CAMBIA_A_ACTIVO
(
IN _email VARCHAR(45),
IN _nombre_grupo VARCHAR(80)
)
BEGIN
UPDATE INTEGRATES_GRUPOS SET activo = 1
WHERE nombre_grupo = _nombre_grupo
AND email = _email;
END; //
这是PHP代码:
<?php
require_once('connection.php');
class CAMBIA_A_ACTIVO
{
public function __construct($email, $nombre_grupo)
{
try
{
$mysql = new connection();
$conexion = $mysql -> get_connection();
$datos = array("email" => "$email", "nombre_grupo" => "$nombre_grupo");
$statement = $conexion->prepare("CALL CAMBIA_A_ACTIVO(?,?)");
$statement -> bind_param("ss", $datos["email"], $datos["nombre_grupo"]);
$statement -> execute();
$statement -> close();
$conexion -> close();
} catch (Exception $e)
{echo $e->getMessage();}
}
}
?>
检查错误,在'prepare'和'execute'调用之后添加'或die($ conexion-> error);''。 – Barmar
mysqli在发生错误时不会抛出异常。 – Barmar
不存在错误或异常。 –