none
PHP + DRIVE SQL FOR PHP + IIS 7.5 error recuperando dados da tabela RRS feed

  • Pergunta

  • <?php
    $serverName = "(local)";
    $connectionInfo = array("UID" => 'systemapp', "PWD" => 'senha', "Database"=>"TSQLFundamentals2008");
    $conn = sqlsrv_connect( $serverName, $connectionInfo);

    /* Define the query. */
    $tsql = "SELECT * FROM HR.Employees";

    /* Execute the query. */
    $stmt = sqlsrv_query( $conn, $tsql);
    if ( $stmt === false )
    {
         echo "Error in statement execution.\n";
         die( print_r( sqlsrv_errors(), true));
    }

    /* Test if query exist rom. *
    if ($stmt !== NULL) {
          $rows = sqlsrv_has_rows( $stmt );
      
          if ($rows === false)
             echo "\nno rows\n";
       }
    $result = sqlsrv_fetch_array($stmt);

    while( !is_null($result));


    /* Free statement and connection resources. */
    sqlsrv_free_stmt( $stmt);
    sqlsrv_close( $conn);
    ?>

    Porque os dados não estão voltando???

    quando estou selecionado os dados no banco de dados e recuperando as informações ele retorna tudo.

    exemplo abaixo

    empid lastname firstname title titleofcourtesy birthdate address city country phone

    ----------- -------------------- ---------- ------------------------------ ------------------------- ----------------------- ------------------------------------------------------------ --------------- --------------- ------------------------

    1 Davis Sara CEO Ms. 1958-12-08 00:00:00.000 7890 - 20th Ave. E., Apt. 2A Seattle USA (206) 555-0101

    2 Funk Don Vice President, Sales Dr. 1962-02-19 00:00:00.000 9012 W. Capital Way Tacoma USA (206) 555-0100

    3 Lew Judy Sales Manager Ms. 1973-08-30 00:00:00.000 2345 Moss Bay Blvd. Kirkland USA (206) 555-0103

    4 Peled Yael Sales Representative Mrs. 1947-09-19 00:00:00.000 5678 Old Redmond Rd. Redmond USA (206) 555-0104

    5 Buck Sven Sales Manager Mr. 1965-03-04 00:00:00.000 8901 Garrett Hill London UK (71) 234-5678

    6 Suurs Paul Sales Representative Mr. 1973-07-02 00:00:00.000 3456 Coventry House, Miner Rd. London UK (71) 345-6789

    7 King Russell Sales Representative Mr. 1970-05-29 00:00:00.000 6789 Edgeham Hollow, Winchester Way London UK (71) 123-4567

    8 Cameron Maria Sales Representative Ms. 1968-01-09 00:00:00.000 4567 - 11th Ave. N.E. Seattle USA (206) 555-0102

    9 Dolgopyatova Zoya Sales Representative Ms. 1976-01-27 00:00:00.000 1234 Houndstooth Rd. London UK (71) 456-7890

    (9 row(s) affected)

    • Movido Gustavo Maia Aguiar quinta-feira, 14 de abril de 2011 13:39 (De:Programação avançada com o SQL Server)
    quarta-feira, 13 de abril de 2011 16:53

Respostas

  • Bom Dia,

    De fato se outras ferramentas funcionam como o Management Studio ou o Query Analyser então fica caracterizado que o problema está fora do SQL  Server. Possivelmente o Driver, o IIS ou a forma como a aplicação faz uso do mesmo.

    Por hora certifique-se de usar o driver mais recente e que o mesmo é suportado pela versão do IIS utilizada.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta Flavio Luis quinta-feira, 14 de abril de 2011 18:59
    quinta-feira, 14 de abril de 2011 13:39
  • Bom Dia Flávio,

    No que compete ao SQL Server estamos aptos, mas a questão é que seu problema não parece estar no SQL Server e acredito que a expertise em PHP e IIS seja melhor encontrada em outros fóruns. É pouco provável que profissionais de SQL Server estejam ambientados com IIS e PHP no mesmo nível de profissionais de IIS e PHP.

    Você tentou postar essa dúvida em outros fóruns ?

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta Flavio Luis quinta-feira, 14 de abril de 2011 18:59
    quinta-feira, 14 de abril de 2011 14:18
  • Oi Flávio,

    Desculpe, mas minha vida com o IIS ficou para trás e PHP não é meu forte. Se você achar que o problema é no IIS, eu sugiro o fórum de IIS do Technet. Já PHP... Não faço nem idéia.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com 


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta Flavio Luis quinta-feira, 14 de abril de 2011 18:59
    quinta-feira, 14 de abril de 2011 16:16

Todas as Respostas

  • Flávio,

    O que você deseja fazer?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    quarta-feira, 13 de abril de 2011 18:26
    Moderador
  • QUERO QUE QUANDO FIZER A CONSULTA

    /* Define the query. */
    $tsql = "SELECT * FROM HR.Employees";

    ELE ME RETORNE OS VALORES

    --------------- --------------- ------------------------

    1 Davis Sara CEO Ms. 1958-12-08 00:00:00.000 7890 - 20th Ave. E., Apt. 2A Seattle USA (206) 555-0101

    2 Funk Don Vice President, Sales Dr. 1962-02-19 00:00:00.000 9012 W. Capital Way Tacoma USA (206) 555-0100

    3 Lew Judy Sales Manager Ms. 1973-08-30 00:00:00.000 2345 Moss Bay Blvd. Kirkland USA (206) 555-0103

    4 Peled Yael Sales Representative Mrs. 1947-09-19 00:00:00.000 5678 Old Redmond Rd. Redmond USA (206) 555-0104

    5 Buck Sven Sales Manager Mr. 1965-03-04 00:00:00.000 8901 Garrett Hill London UK (71) 234-5678

    6 Suurs Paul Sales Representative Mr. 1973-07-02 00:00:00.000 3456 Coventry House, Miner Rd. London UK (71) 345-6789

    7 King Russell Sales Representative Mr. 1970-05-29 00:00:00.000 6789 Edgeham Hollow, Winchester Way London UK (71) 123-4567

    8 Cameron Maria Sales Representative Ms. 1968-01-09 00:00:00.000 4567 - 11th Ave. N.E. Seattle USA (206) 555-0102

    9 Dolgopyatova Zoya Sales Representative Ms. 1976-01-27 00:00:00.000 1234 Houndstooth Rd. London UK (71) 456-7890

    (9 row(s) affected)

    e não estou conseguindo que ele me retorne.


    Flavio Luis Analista de Suporte MCP - Microsoft Certified Professional MCTS - Microsoft Certified Technology Specialist | MCP | MCTS | flavio@theskylinefor.com
    quarta-feira, 13 de abril de 2011 18:40
  • Flavio,

    Você consegui executar este mesma query diretamente no SQL Server?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    quarta-feira, 13 de abril de 2011 19:06
    Moderador
  • SIM E O RESULTADO FOI

    --------------- --------------- ------------------------

    1 Davis Sara CEO Ms. 1958-12-08 00:00:00.000 7890 - 20th Ave. E., Apt. 2A Seattle USA (206) 555-0101

    2 Funk Don Vice President, Sales Dr. 1962-02-19 00:00:00.000 9012 W. Capital Way Tacoma USA (206) 555-0100

    3 Lew Judy Sales Manager Ms. 1973-08-30 00:00:00.000 2345 Moss Bay Blvd. Kirkland USA (206) 555-0103

    4 Peled Yael Sales Representative Mrs. 1947-09-19 00:00:00.000 5678 Old Redmond Rd. Redmond USA (206) 555-0104

    5 Buck Sven Sales Manager Mr. 1965-03-04 00:00:00.000 8901 Garrett Hill London UK (71) 234-5678

    6 Suurs Paul Sales Representative Mr. 1973-07-02 00:00:00.000 3456 Coventry House, Miner Rd. London UK (71) 345-6789

    7 King Russell Sales Representative Mr. 1970-05-29 00:00:00.000 6789 Edgeham Hollow, Winchester Way London UK (71) 123-4567

    8 Cameron Maria Sales Representative Ms. 1968-01-09 00:00:00.000 4567 - 11th Ave. N.E. Seattle USA (206) 555-0102

    9 Dolgopyatova Zoya Sales Representative Ms. 1976-01-27 00:00:00.000 1234 Houndstooth Rd. London UK (71) 456-7890

    (9 row(s) affected)

    MAS NA DOCUMENTAÇÃO DO SITE DA MICROSOFT DO DRIVE SQL PARA PHP ELE MANDA USAR O COMANDO

    $result = sqlsrv_fetch_array($stmt);

    while( !is_null($result));

    PARA IMPRIMIR NA TELA ESSES MESMO RESULTADOS, MAS NÃO ESTA FUNCIONANDO


    Flavio Luis Analista de Suporte MCP - Microsoft Certified Professional MCTS - Microsoft Certified Technology Specialist | MCP | MCTS | flavio@theskylinefor.com
    quarta-feira, 13 de abril de 2011 19:14
  • Flavio,

    Você esta utilizando o SQL Server 2008?

    Bom se no SQL Server funcionou, o problema não esta na query nem no SQL Server, temos que analisar o PHP, o Driver o IIS.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    quarta-feira, 13 de abril de 2011 19:42
    Moderador
  • Bom Dia,

    De fato se outras ferramentas funcionam como o Management Studio ou o Query Analyser então fica caracterizado que o problema está fora do SQL  Server. Possivelmente o Driver, o IIS ou a forma como a aplicação faz uso do mesmo.

    Por hora certifique-se de usar o driver mais recente e que o mesmo é suportado pela versão do IIS utilizada.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta Flavio Luis quinta-feira, 14 de abril de 2011 18:59
    quinta-feira, 14 de abril de 2011 13:39
  • ESTOU UTILIZANDO SQL SERVER 2008 R2 com IIS 7.5 NO WINDOWS SERVER 2008 R2 o drive e a versão 2.0 PHP for SQL ultima versão.

    Baixei o banco de teste da microsoft AdventureWork e eles mandam eu utilizar o comando

    $name = sqlsrv_get_field( $stmt, 0); //recupera o nome do cara
    echo "$name: ";

    $stream = sqlsrv_get_field( $stmt, 1,
                                SQLSRV_PHPTYPE_STREAM( SQLSRV_ENC_CHAR)); //recupera uma sting que eu definir
    while( !feof( $stream))
    {
        $str = fread( $stream, 10000);
        echo $str;
    }

    para recuperar a informação sendo que o comando sql é:

    $tsql = "SELECT ReviewerName, Comments
             FROM Production.ProductReview
             WHERE ProductReviewID=1";

    so que quero lista todos sem ficar colocando where todo vida como (WHERE ProductReviewID>1) quero que ele funcione inicialmente com o statamente

     $tsql = "SELECT ReviewerName, Comments
    FROM Production.ProductReview";

    ALGUEM PODE ME AJUDAR??


    Flavio Luis Analista de Suporte MCP - Microsoft Certified Professional MCTS - Microsoft Certified Technology Specialist | MCP | MCTS | flavio@theskylinefor.com
    quinta-feira, 14 de abril de 2011 13:51
  • Bom Dia Flávio,

    No que compete ao SQL Server estamos aptos, mas a questão é que seu problema não parece estar no SQL Server e acredito que a expertise em PHP e IIS seja melhor encontrada em outros fóruns. É pouco provável que profissionais de SQL Server estejam ambientados com IIS e PHP no mesmo nível de profissionais de IIS e PHP.

    Você tentou postar essa dúvida em outros fóruns ?

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta Flavio Luis quinta-feira, 14 de abril de 2011 18:59
    quinta-feira, 14 de abril de 2011 14:18
  • GUSTAVO PODERIA ME INDICAR NO CASO ALGUM FORUM???

    PQ ESTOU MEIO PERDIDO...


    Flavio Luis Analista de Suporte MCP - Microsoft Certified Professional MCTS - Microsoft Certified Technology Specialist | MCP | MCTS | flavio@theskylinefor.com
    quinta-feira, 14 de abril de 2011 15:42
  • Oi Flávio,

    Desculpe, mas minha vida com o IIS ficou para trás e PHP não é meu forte. Se você achar que o problema é no IIS, eu sugiro o fórum de IIS do Technet. Já PHP... Não faço nem idéia.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com 


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta Flavio Luis quinta-feira, 14 de abril de 2011 18:59
    quinta-feira, 14 de abril de 2011 16:16
  • POST MOVIDO PARA FORUM IIS MICROSOFT

    http://forums.iis.net/t/1177408.aspx


    Flavio Luis Analista de Suporte MCP - Microsoft Certified Professional MCTS - Microsoft Certified Technology Specialist flavio@theskylinefor.com
    quinta-feira, 14 de abril de 2011 18:58