如何使用存储过程进行php登录

2hh7jdfx  于 2021-06-23  发布在  Mysql
关注(0)|答案(0)|浏览(161)

我是php新手,我正在努力学习如何使用存储过程。我有一个存储过程(mysql):

CREATE DEFINER=`root`@`localhost` PROCEDURE `get_dati_user`(
 IN  v_Mail_UT VARCHAR(45),
 IN  v_PW_UT VARCHAR(20),
 OUT v_Cod_Workgroup VARCHAR(25),
 OUT v_Nome_UT VARCHAR(25),
 OUT v_Cog_UT VARCHAR(25),
 OUT v_Permessi_Utente VARCHAR(45),
 OUT v_Data_Iscrizione VARCHAR(45),
 OUT v_Tel_UT VARCHAR(45),
 OUT v_count int
)
BEGIN

select count(1) into v_count 
from t_utenti where login=v_login and pwd =v_pass;

if (v_count >0) THEN
 SELECT
     `tab01_utenti`.`Cod_Workgroup`,
     `tab01_utenti`.`Nome_UT`,
     `tab01_utenti`.`Cog_UT`,
     `tab01_utenti`.`Permessi_Utente`,
     `tab01_utenti`.`Data_Iscrizione`,
     `tab01_utenti`.`Tel_UT`

  into
		v_Cod_Workgroup,
		v_Nome_UT,
		v_Cog_UT,
		v_Permessi_Utente, 
		v_Data_Iscrizione, 
        v_Tel_UT

  FROM tab01_utenti where v_Mail_UT=Mail_UT and v_PW_UT=PW_UT;
END IF;

我需要编写一个php脚本来包含在我的html登录表单中。有人能帮我吗?我已经建立了与数据库的连接,但我不知道如何继续。我试过:

<?php  
include 'connectdb.php';
error_reporting(E_ALL);
ini_set('display_errors', 'On');

$sql = 'CALL get_dati_user(?, ?)';
$stmt = $conn->prepare($sql);

// username and password sent from form 
$v_Email_UT=$_POST['v_Email_UT']; 
$v_PW_UT=$_POST['v_PW_UT']; 

$stmt->bindParam(1, $v_Email_UT, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 45);
$stmt->bindParam(2, $v_PW_UT, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 20);
$stmt->bindParam(3, $v_Cod_Workgroup, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 25);
//$stmt->bindParam(4, $v_Nome_UT, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 25);
//$stmt->bindParam(5, $v_Cog_UT_UT, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 25);
//$stmt->bindParam(6, $v_Permessi_Utente, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 45);
//$stmt->bindParam(7, $v_Data_Iscrizione, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 45);
//$stmt->bindParam(8, $v_Tel_UT, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 45);
//$stmt->bindParam(9, $v_count, PDO::PARAM_INT, 10);

$stmt->execute();

?>

但是我得到一个错误“sqlstate[hy093]:无效的参数号:绑定变量的数量与令牌的数量不匹配”。我能得到一些帮助吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题