Я выборки три значения из TUsers с помощью запроса на выборку, где я получаю ошибку, какMysqli оператор выполнения ошибки: Результат состоит из более чем одной строки
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 для вызывая процедуры.
Здравствуйте, @mu результат, который я получаю только один, несмотря на то, что ошибка тоже показывает то же самое – Anish
В таблице меньше строк, вопрос безопасности один, и он дает результаты только 1 строка есть чтобы избежать дублирования. – Anish
@ user1297878: Я думаю, что вы также видите конфликт между именем столбца 'securityans' и именем параметра' securityans', и имя столбца выигрывает. –