Comunidad de diseño web y desarrollo en internet online

Stored Procedure con SQL server y PHP

Citar            
MensajeEscrito el 31 May 2005 08:15 pm
Este es el store procedure que tengo

Código :

create procedure "Sales by Year" 
@Beginning_Date DateTime, @Ending_Date DateTime AS 
SELECT Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal, DATENAME(yy,ShippedDate) AS Year 
FROM Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID 
WHERE Orders.ShippedDate Between @Beginning_Date And @Ending_Date 
GO


y asi lo llamo desde php...

Código :

<?php 
$servidor = "localhost"; 
$usuario = "pruebas"; 
$passwd = "pruebas"; 
$nombreDB = "northwind"; 

$enlace = @mssql_connect($servidor, $usuario, $passwd) 
    or die("No se pudo conectar a $servidor"); 

$dB_select = @mssql_select_db($nombreDB, $enlace) 
    or die("No se pudo abrir la tabla $nombreDB"); 

$query2 = mssql_init("Sales by Year ", $enlace); 
$feinicio = '06/06/1996'; 
$fefin = '08/10/1996'; 
mssql_bind($query2, "@Beginning_Date", $feinicio, SQLINT4); 
mssql_bind($query2, "@Ending_Date", $fefin, SQLINT4); 
$result_sp = mssql_execute($query2); 
while ($row = mssql_fetch_array($result_sp)) 
{ 
   echo  $row[0]; 
} 
?> 

mm bueno, no me sale ningun error, pero tampoco me muestra registros.. realice un llamado a otro Store Procedure sin parametros y funcionó perfecto.. asi que no se donde anda acá el error...

un saludo.

Por Salome

13 de clabLevel



 

Colombia

msie
Citar            
MensajeEscrito el 02 Jun 2005 01:10 pm
Talvez ya lo hayas resuelto, pero no se si la fecha la podrías declarar con '#01/02/2004#'. Probablemente sea eso, si ya lo hiciste, sería bueno que nos dijeras cual era el problema.

Por Jc

62 de clabLevel



 

msie
Citar            
MensajeEscrito el 19 Nov 2008 05:42 pm
:evil: Saludos ...
En MS SQL Server debe ser algo así:

Código :

ALTER PROCEDURE [dbo].[sp_xxx] 
 @fechasqlserver DATETIME
AS 
BEGIN 
 INSERT INTO tabla (fecha)
 VALUES(CONVERT(datetime, @fechasqlserver, 102))
END

En PHP debe ser algo así:

Código :

<?php
$fechaphp = "01/01/2008"; /*este es un formato cristiano de fecha*/
$x= explode("/",  $fechaphp);
$fechaphp = date("m/d/Y", mktime(0, 0, 0, $x[1], $x[0], $x[2])); /*este es el formato gringo*/
....
aquí tu código de conexión
....
$srtproc = mssql_init("sp_xxx",  $link);
mssql_bind($srtproc, "@fechasqlserver ",  $fechaphp , SQLVARCHAR, FALSE, FALSE);
mssql_execute($srtproc) or trigger_error("Unable run sql query ",  E_ALL);
unset($srtproc); 
mssql_close($link);
?>

Por rolfpinto

0 de clabLevel



 

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.