エラーが発生している選択クエリを使用して、TUsers から 3 つの値をフェッチしています。
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 を使用する場合の良い提案を教えてください。