Я извлекаю три значения из TUsers, используя запрос выбора, где я получаю сообщение об ошибке как
Ошибка выполнения оператора Mysqli: результат состоит из более чем одной строки.
Я использовал DISTINCTROW, чтобы избежать дублирования, и я использую структуру Zend для вызова процедуры.
Вот код:
Процедура:
CREATE DEFINER=`root`@`` PROCEDURE `spfetchloginid`(in securityans varchar(50),out email varchar(50),out loginidout varchar(50),out useridout varchar(50))
BEGIN
SELECT DISTINCTROW Email,login_id,user_id into email,loginidout,useridout FROM DB.TUsers where SecurityAns=securityans ;
END
Вызов процедуры в ZendFramework из контроллера:
$db=Zend_Db_Table::getDefaultAdapter();
$spParams = array(1,'NewValue');
$stmt = $db->query("CALL spfetchloginid('$securityans',@email,@loginidout,@useridout)");
print_r($stmt->fetchAll());
$stmt->closeCursor();
$stmtresult10=$db->query("select @email");
$email_to=$stmtresult10->fetch();
$stmtresult10->closeCursor();
$Emails=$email_to["@email"];
echo $Emails;
$stmtresult11=$db->query("select @loginidout");
$loginid=$stmtresult11->fetch();
$stmtresult11->closeCursor();
$loginids=$loginid["@loginidout"];
echo $loginids;
$stmtresult12=$db->query("select @useridout");
$userid=$stmtresult12->fetch();
$stmtresult12->closeCursor();
$userids=$userid["@useridout"];
echo $userids;
Пожалуйста, сообщите мне какие-либо хорошие предложения по использованию Zend и My Sql для вызова процедур.