Foros del Web » Programando para Internet » PHP »

Warning: sqlsrv_query() expects parameter 1 to be resource

Estas en el tema de Warning: sqlsrv_query() expects parameter 1 to be resource en el foro de PHP en Foros del Web. Estoy tratando de ejecutar uns SP en SQL Server 2008 r2 desde PHP Tengo el siguiente error: Warning: sqlsrv_query() expects parameter 1 to be resource, ...
  #1 (permalink)  
Antiguo 04/07/2011, 14:00
 
Fecha de Ingreso: julio-2011
Mensajes: 1
Antigüedad: 12 años, 9 meses
Puntos: 0
Información Warning: sqlsrv_query() expects parameter 1 to be resource

Estoy tratando de ejecutar uns SP en SQL Server 2008 r2 desde PHP Tengo el siguiente error:

Warning: sqlsrv_query() expects parameter 1 to be resource, boolean given in C:\Archivos de programa\EasyPHP\www\lFinanzas\PHP\spEnviarDatos.p hp on line 45
Error in executing query.
Error in $stmt=
Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -14 [code] => -14 [2] => An invalid parameter was passed to sqlsrv_query. [message] => An invalid parameter was passed to sqlsrv_query. ) )

mi SP en SQL Server es:
USE [database requerida]
GO
/****** Object: StoredProcedure [dbo].[cst_pasaTE] Script Date: 07/04/2011 12:04:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- Batch submitted through debugger: SQLQuery4.sql|0|0|
-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================

-- =============================================
-- Author:
-- Create date:
-- Description:
-- =============================================
ALTER PROCEDURE [dbo].[cst_pasaTE]
-- Add the parameters for the stored procedure here
@dia varchar(8)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

-- Insert statements for procedure here
insert into openquery(MYSQL, 'select AU_DES_TRA
,AU_FECHA
,AU_TIPO
,CB_CLASIFI
,CB_CODIGO
,AU_TIPODIA
,AU_HOR_MAN
,CB_TURNO
,CB_PUESTO
,HO_CODIGO
,CB_NIVEL1
,CB_NIVEL2
,CB_NIVEL3
,CB_NIVEL4
,CB_NIVEL5
,CB_NIVEL6
,CB_NIVEL7
,CB_NIVEL8
,CB_NIVEL9
,AU_AUT_EXT
,AU_AUT_TRA
,AU_STATUS
,AU_NUM_EXT
,AU_TRIPLES
,US_CODIGO
,AU_POSICIO
,AU_HORASCK
,AU_OUT2EAT
,PE_YEAR
,PE_TIPO
,PE_NUMERO
,AU_HORASNT
,CB_SALARIO
,AU_STA_FES
,AU_PRE_EXT
,CB_NOMINA
,LLAVE
,AU_DOBLES
,AU_EXTRAS
,AU_HORAS
,AU_PER_CG
,AU_PER_SG
,AU_TARDES
from pruebaste')
SELECT [AU_DES_TRA]
,[AU_FECHA]
,[AU_TIPO]
,[CB_CLASIFI]
,[CB_CODIGO]
,[AU_TIPODIA]
,[AU_HOR_MAN]
,[CB_TURNO]
,[CB_PUESTO]
,[HO_CODIGO]
,[CB_NIVEL1]
,[CB_NIVEL2]
,[CB_NIVEL3]
,[CB_NIVEL4]
,[CB_NIVEL5]
,[CB_NIVEL6]
,[CB_NIVEL7]
,[CB_NIVEL8]
,[CB_NIVEL9]
,[AU_AUT_EXT]
,[AU_AUT_TRA]
,[AU_STATUS]
,[AU_NUM_EXT]
,[AU_TRIPLES]
,[US_CODIGO]
,[AU_POSICIO]
,[AU_HORASCK]
,[AU_OUT2EAT]
,[PE_YEAR]
,[PE_TIPO]
,[PE_NUMERO]
,[AU_HORASNT]
,[CB_SALARIO]
,[AU_STA_FES]
,[AU_PRE_EXT]
,[CB_NOMINA]
,[LLAVE]
,[AU_DOBLES]
,[AU_EXTRAS]
,[AU_HORAS]
,[AU_PER_CG]
,[AU_PER_SG]
,[AU_TARDES]
FROM [tabla requerida] AU
where AU.AU_FECHA = @dia

END

y mi codigo PHP es el siguiente:

$params = array(
array($diai, SQLSRV_PARAM_IN)
);

$tsql = "{call cst_pasaTE(?)}";

$stmt = sqlsrv_query($conn, $tsql, $params); // aqui es donde marca el error
  #2 (permalink)  
Antiguo 05/07/2011, 00:15
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Warning: sqlsrv_query() expects parameter 1 to be resource

Parece que $conn no es una conexion valida:

sqlsrv_query( resource $conn, string $tsql [, array $params [, array $options]])

comprueba ese parametro antes de continuar, no estas conectado a la db en ese punto.
Salu2
__________________
Fere libenter homines, id quod volunt, credunt.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:27.