Usuário com melhor resposta
PHP + DRIVE SQL FOR PHP + IIS 7.5 error recuperando dados da tabela

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)
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
-
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
-
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
Todas as Respostas
-
-
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 -
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] -
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 -
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] -
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
-
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 -
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
-
-
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
-
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