Как получить результат из хранимой процедуры MSSQL с временной таблицей в PHP Codeigniter

Я использую Codeigniter 3.1 и хочу получить результат от хранимой процедуры в Microsoft SQL Server. но я не могу получить никакого результата

Сценарий хранимой процедуры:

ALTER procedure [dbo].[SendPost_All_Periodic]
@DateAs nvarchar(10),
@DateTo nvarchar(10)
as
beginDECLARE @temptable TABLE (MsgDate nvarchar(10),Saat tinyint)

INSERT INTO @temptable
SELECT MsgDate,CAST(LEFT(MsgTime, 2) AS int) as Saat2
FROM  dbo.TMessage
Where MsgDate>=@DateAs and MsgDate<=@DateTo

Select Saat,count(Saat)as CountSend from @temptable
group by Saat
order by Saat

end

Мой код PHP:

$DateAs = "2017/01/02";

$DateTo = "2017/01/03";

$result = $this->db->query("SendPost_All_Periodic '{$DateAs}', '{$DateTo}'");

print_r($publishtime->result_array());

Но когда я использую этот метод для обычного выбора, этот код создает результат, но я не могу получить результат, чем выбрать из TempTable

0

Решение

Получаете ли вы какие-либо сообщения об ошибках при попытке выполнить свой код?

Исходя из предоставленного вами кода, у вас может возникнуть несколько проблем, и вызов может зависеть от того, какой драйвер базы данных вы используете в своей конфигурации (например, pdo). Во-первых, в вашем print_r утверждение, вы вызываете переменную, которая, казалось бы, не существует. Итак, давайте попробуем:

print_r($result->result_array());

Кроме того, способ передачи параметров может вызвать проблемы (одинарные кавычки). Дайте им обоим попробовать и посмотреть, что работает.

Способ первый:

$result = $this->db->query("SendPost_All_Periodic {$DateAs}, {$DateTo}");
print_r($result->result_array());

Способ второй:

$result = $this->db->query("EXEC SendPost_All_Periodic @DateAs='$DateAs', @DateTo='$DateTo'");
print_r($result->result_array());

Надеюсь, это поможет. Если так, дайте мне знать, какой из них работает. Если нет, посмотрите, указывает ли эта статья Stackoverflow правильное направление: Как вызвать хранимую процедуру в CodeIgniter?

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]