Foros del Web » Programando para Internet » PHP »

ADO con PHP y SQL Server Procedimientos Almacenados

Estas en el tema de ADO con PHP y SQL Server Procedimientos Almacenados en el foro de PHP en Foros del Web. Buenas tardes, les platico mi situación, cuento con una base de datos sobre SQL Server 2008 en la cual las sentencias select se realizan a ...
  #1 (permalink)  
Antiguo 31/03/2016, 13:33
 
Fecha de Ingreso: marzo-2016
Mensajes: 3
Antigüedad: 8 años
Puntos: 0
ADO con PHP y SQL Server Procedimientos Almacenados

Buenas tardes, les platico mi situación, cuento con una base de datos sobre SQL Server 2008 en la cual las sentencias select se realizan a través de procedimientos almacenados el problema es como puedo realizar una consulta desde PHP haciendo uso de ADO de tal forma que pueda obtener los datos de la tabla que llama el procedimiento almacenado y a su vez los datos de los parámetros de salida.

Lo que tengo hasta ahora es lo siguiente:

Código PHP:
<?php
    $dbserver 
'DOITI21';
    
$dbuname 'ss';
    
$dbpass 'ss2016';
    
$dbname 'Prueba';
    
    include(
'adodb5/adodb.inc.php');
    
// tipo de conexion mssqlnative or mssql
    
$dri'mssqlnative';

    
$db ADONewConnection($dri);

    if(!
$db->Connect($dbserver,$dbuname,$dbpass,$dbname) )
        echo 
"Error al conectar con el servidor";
    else
    {
        echo 
"Conectado</br>";

        
$ulogins 'ss';
        
$acc 'all';
        
$msj 3;
        
$salida 0;
        
$msjs = (string) $msj;

        
// si la conexion es en windows
        
if ($dri == 'mssqlnative'
        {
            
$stmt "{call pa_ususarios(?,?)}";

            
$datos=array(
                    array(
$ulogins),
                    array(
$acc)
                );
                
            
$rs $db->Execute$stmt ,$datos);
        }
        
// si la conexion es Debian
        
elseif ($dri == 'mssql'){
            
$stmt "pa_ususarios '".$ulogins."',".$acc."'";    
            
$rs $db->Execute$stmt );
        }

        if(
$rs
        { 
            foreach (
$rs as $row )
              echo 
$row[0]." - ".$row[1]."</br>";

             
$rs->close();
        } 
        else 
            die(
'Error');

    }

?>
En el código anterior solo obtengo los valores de una de las dos tablas, mas no se como puedo obtener los demás valores.
Este es mi procedimiento almacenado:
Código SQL:
Ver original
  1. CREATE PROCEDURE [dbo].[pa_ususarios]
  2.     @USER VARCHAR(50) = NULL,
  3.     @acc VARCHAR(3) = NULL,
  4.     @salida VARCHAR(3) = NULL OUTPUT ,
  5.     @salidaInt INT = NULL OUTPUT
  6. AS
  7. BEGIN
  8.     IF @acc IS NULL
  9.     BEGIN
  10.         SET @acc = 'all'
  11.     END
  12.    
  13.     SET @salida = 'ninguna'
  14.     SET @salidaInt = 7
  15.     -- SET NOCOUNT ON added to prevent extra result sets from
  16.     -- interfering with SELECT statements.
  17.     SET NOCOUNT ON;
  18.  
  19.     IF @acc = 'get'
  20.     BEGIN
  21.         SELECT * FROM usuarios WHERE ulogin LIKE '%'+@USER+'%'
  22.         SET @salida = 'GET'
  23.     END
  24.     IF @acc = 'all'
  25.     BEGIN
  26.         SELECT * FROM usuarios
  27.         SELECT * FROM personas
  28.         SET @salida = 'ALL'
  29.     END
  30.         SET @salidaInt = 154
  31. END
Si me pudieran ayudar se los agradecería mucho, de antemano muchas gracias.

Etiquetas: ado, procedimientos, select, server, sql, tabla, usuarios
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 10:33.