Список данных процедур sqlsrv PHP


Добрый день,

Кто-то опыт в PHP, и диск sqlsrv от microsoft ?

Обнаружил трудности, чтобы отобразить данные из процедуры в SQL SERVER с помощью драйвера "Microsoft sqlsrv".

что-То странное сегодня происходит, что не создает никакого возвращения.

что может говорить или плохого в коде, пожалуйста.

$serverName = "SRVSQLDEALER\XXX"; 

$connectionInfo = array( "Database"=>"DB", "UID"=>"USER", "PWD"=>"KEY");

$conn = sqlsrv_connect( $serverName, $connectionInfo);

if ( $conn ){  

$var1 = '3610';
$var2 = '2020-10-29';

$procedure_params = array(

array(&$myparams['CodigoEmpresa'], SQLSRV_PARAM_OUT),
array(&$myparams['DataReferencia'], SQLSRV_PARAM_OUT)

);

$sql = "EXECUTE dbRedeMineira.dbo.whCRLDocumentosReceber @CodigoEmpresa = ?, @DataReferencia = ? " ; 

$stmt = sqlsrv_query($conn,$sql,array($var1, $var2));

echo $conn."<br />";
echo $sql."<br />";
echo $stmt."<br /><br />";

$numFields = sqlsrv_num_fields( $stmt );
$numListen = sqlsrv_num_rows( $stmt ); 
$numAfect  = sqlsrv_rows_affected( $stmt );
echo "Total de linhas > ".$numListen." .... Total de colunas > ".$numFields." .... Total afetado > ".$numAfect."<br /><br /><br />";

if (!sqlsrv_execute($stmt)) {
    echo "Your code is fail!";
die;
}

if ($stmt = sqlsrv_prepare($conn, $sql)) {

        
        while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {

              echo $row['DataReferencia']."<br />";

        } 
        
        
    } else {  
        echo "Statement could not be prepared.\n";  
        die(print_r(sqlsrv_errors(), true));  
    } 

Будучи, что это отображение query нормально, возвращает все правильные значения.

            $stmt =sqlsrv_query($conn,"SELECT * FROM usuario");

            while( $row = sqlsrv_fetch_array($stmt)){
                
                echo $row['login']."<br>";
            }
        
Author: TXN Tecnologia, 2020-10-30

2 answers

Попробуйте так друг.

$query = "EXEC PROCEDURE @CodigoEmpresa = ?, @DataReferencia = ? ";

$prepare = $con->prepare($query);

$prepare->execute();

while ($result = $prepare->fetch(PDO::FETCH_ASSOC)) {
print_r($result['XXXXXXXXX']."<br />"); // colunas a serem exibidas
}
 2
Author: Thiago Lopez, 2020-11-06 09:59:21

Подключения смог сделать это следующим образом

 try {
 $con = new PDO('sqlsrv:Server=SERVIDOR;Database=DB', 'USER', 'SENHA' );
 $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 } catch (Exception $ex) {
 print_r('Error: ' . $ex->getMessage());
 }

Теперь не хватает только вывести данные.

 2
Author: TXN Tecnologia, 2020-11-04 19:43:30