Я новичок в 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]: недопустимый номер параметра: число связанных переменных не соответствует количеству токенов».Могу ли я получить помощь, пожалуйста?