0
이 PHP 코드에 문제가 있습니다. 문제는 Sql Server 테이블에 1000 개의 행을 삽입하려고했지만 코드가 80 개의 행을 삽입했는데 이유가 무엇인지 모르겠지만 SQL Server 프로 시저를 단독으로 실행했습니다. SQL Server Management Studio와 작동하지만 PHP에서 실행하려고하면 작동하지 않습니다. "원격 쿼리 시간 초과"를 "제한 시간 없음"으로 설정했습니다. 여기에 제가 사용하고있는 코드가 있습니다. 도와주세요.이 PHP 코드가 SqL Server 쿼리를 완전히 실행하지 않는 이유는 무엇입니까?
PHP 코드
<?php
$myServer = "servername";
$conex=array("Database"=>"database");
$conn = sqlsrv_connect ($myServer, $conex) ;
if (sqlsrv_begin_transaction($conn) === false) {
die(print_r(sqlsrv_errors(), true));
}
$sql="insertarDistrito_Sql ?";
$params=array(&$_POST(1000));
$stmt=sqlsrv_query($conn, $sql, $params);
if($stmt) {
sqlsrv_commit($conn);
echo "Transaction committed.<br />";
} else {
sqlsrv_rollback($conn);
echo "Transaction rolled back.<br />";
}
?>
SQL 서버에 절차
CREATE procedure [dbo].[insertarDistrito_Sql]
@cant int
As
Declare @i int
Declare @w int
Declare @id int
SET @i = 1
set @w=1
set @id=1
if (Select count(*) from distrito)> 0
begin
Set @id= (select max([id_distrito]) from [dbo].[distrito])
set @[email protected]+1
end
WHILE(@i <= @cant)
BEGIN
INSERT INTO [dbo].[distrito] ([id_distrito], [id_warehouse], [d_nombre], [d_direccion], [d_calle1],
[d_calle2],[d_barrio], [d_fecha_creacion],[d_capacidad])
VALUES(@id,@w,newid(),newid(),newid(),newid(),newid(), '12/12/2014',rand())
SET @i += 1
set @id +=1
END
시도했지만 작동하지 않았습니다. – mariofernip