我有存储过程:
USE [Auth]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
----------------------------------------------------------------------------------------------------------------------------------------
ALTER Procedure [dbo].[User_InfoByLogin]
@login nvarchar(10)
AS
begin
declare @id_client numeric(18,0)
declare @id_session numeric(18,0)
select @id_client=id from auth_Clients where [login]=@login
if @id_client is null
begin
select -1 err, 'Пользователь не найден' err_msg,'' err_sys_msg
return
end
select 0 err, 'Успешное получение данных' err_msg,'' err_sys_msg
select
cl.[login] as login,
cl.email,
cl.active,
convert(varchar, cl.date_reg, 104) as date_reg,
cl.space,
cl.id_ext,
cl.blocked,
cl.stopped,
convert(varchar, cl.stopped_date, 104) as stopped_date,
fz.name_First,
fz.name_Last,
fz.name_Father,
tf.limit_device,
tf.limit_cam,
tf.limit_video,
ct.id_tax as tarif
from
auth_Clients cl
join auth_ClientsFz fz on cl.id=fz.id_client
LEFT JOIN auth_ClientTaxes AS ct ON cl.id=ct.id_client
LEFT JOIN auth_Tarifs AS tf ON ct.id_tax=tf.id
where
fz.id_client=@id_client
end
以及一些执行此存储过程的 php 代码:
public static function GetUserInfo($procName, $params){
$conf = new Config();
$conf->Init();
if ($conf){
$callProc = "exec $procName
@login = '$params[login]'
";
$user_info = $conf->db->get_results($callProc);
echo 'OK';
$conf->db->vardump($user_info);
}
else{
echo 'Ошибка подключения к базе данных';
}
}
我得到的只是第一次选择的结果:
OK ezSQL (v2.17) 变量转储..
数组 ( [0] => stdClass 对象 ( [err] => 0 [err_msg] => Успешное получение данных [err_sys_msg] => )
)
类型:数组 最后查询 [1]:exec User_InfoByLogin @login = '9193390677' 最后函数调用:$db->query("exec User_InfoByLogin @login = '9193390677'") 最后返回的行数:1
我正在使用 ezsql 连接到 db 并使用它:
//данные для подключения к бд
public $db_name = '******';
public $db_host = '******';
public $db_user = '******';
public $db_pass = '******';
//база данных для ez sql
public $db;
public function Init(){
$this->db = new ezSQL_mssql($this->db_user, $this->db_pass, $this->db_name, $this->db_host);
}
是否有任何选项可以从第二个选择中获取结果,例如将它们合并到一个选择语句中?