Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala ai galera,
como faco pra conectar PHP com SQL SERVER ?
ta acontecendo este erro:
Fatal error: Call to undefined function mssql_connect()
alguma sugestao?
valeu !
BESOURO
eu adicionei isto no php.ini:
extension=php_sqlsrv_53_ts.dll
extension=php_pdo_sqlsrv_53_ts.dll
extension=php_pdo.dll
dl('php_pdo_sqlsrv_53_ts.dll');
falta algo?
Olha aparentemente está correto, eu não tenho conhecimento em sql server, mas se vc adicionar as DLL e verifica na info do php (cria arquivo .php)
<?php
phpinfo();
?>
ve se ele ta habilitado la!
nao aparece o sqlserver la
:(
help
BESOURO
Como eu imaginava, o PHP não habilitou a DLL do sql_server
Você colocou as DLL no local correto?
Dê uma olhada nesse tópico: http://forum.imasters.com.br/topic/521908-driver-mssql-para-pdo-php/
Você tem que utilizar o driver ODBC.
Valeu Bruno e Pedro,
tentei esta solucao mas nao funcionou,
listei o extension=php_pdo_odbc.dll
no php.ini
e boltei a dll no \ext
estou usando o WAMP, sera q eh por isso?
esta e a mensagem q aparece:
( ! ) Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in C:\wamp\www\check_sql_server\connection2.php on line 25 ( ! ) PDOException: could not find driver in C:\wamp\www\check_sql_server\connection2.php on line 25
fala ai galera, acho que consegui ativar o sql server.
agora falta conectar, mas ainda recebo a mensagem q a funcao nao existe,
alguem sabe outra funcao?
valeu !!
sqlsrv sqlsrv support enabled Version 3.0.2.1 (Unofficial) Unofficial Changes Works with Native Clients 11/10/9
Directive Local Value Master Value sqlsrv.ClientBufferMaxKBSize 10240 10240 sqlsrv.LogSeverity 0 0 sqlsrv.LogSubsystems 0 0 sqlsrv.WarningsReturnAsErrors On On
ae galera, to tentando conectar desta forma:
<?php
$uid = "nome_do_servidor\besouro";
$pwd = "SENHA";
$host = "localhost";
$dbsql = "nome_do_banco";
//Declaração do array
$connectionInfo = array( "UID"=>$uid,
"PWD"=>$pwd,
"Database"=>"nome_do_banco");
$conn = sqlsrv_connect( $host, $connectionInfo);
if( $conn === false ) {
echo "Unable to connect."; ?><br><br><br><br> <?php
die( print_r( sqlsrv_errors(), true));
} else {
echo "Connected.";
}
?>
ESTE EH O ERRO QUE ESTA ACUSANDO:
Unable to connect.
Array ( [0] => Array ( [0] => 08001 [SQLSTATE] => 08001 [1] => 2 [code] => 2 [2] => [Microsoft][SQL Server Native Client 10.0]Named Pipes Provider: Could not open a connection to SQL Server [2]. [message] => [Microsoft][SQL Server Native Client 10.0]Named Pipes Provider: Could not open a connection to SQL Server [2]. ) [1] => Array ( [0] => HYT00 [SQLSTATE] => HYT00 [1] => 0 [code] => 0 [2] => [Microsoft][SQL Server Native Client 10.0]Login timeout expired [message] => [Microsoft][SQL Server Native Client 10.0]Login timeout expired ) [2] => Array ( [0] => 08001 [SQLSTATE] => 08001 [1] => 2 [code] => 2 [2] => [Microsoft][SQL Server Native Client 10.0]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. [message] => [Microsoft][SQL Server Native Client 10.0]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. ) )
olha, vc não postou as versões dos seus programas, mas no windows 7/sql server 2008 express R2 ou SP2:
além de habilitar (ou instalar) PDO e ODBC do PHP,
não basta simplesmente "instalar" o sql server,
tem q configura-lo.
a conexão PDO/odbc vai exigir 1 usuario e 1 senha,
então na verdade vc tem q instala-lo no modo "Mixed"
e é ai q vc define a senha.
depois precisa configurar permissões de pastas e arquivos,
ativar protocolos de rede e serviços correspondentes e liberar 1 porta no firewall,
ai sim use o código descrito no link do post #7.
como usuario use o "sa", ok?
obs: se vc não definiu a senha (windows autentication), instale uma nova instância.
Obrigado pela resposta Fernando.
Eu conecto no management studio com a autenticacao do windows, entao supunho que funcione desta forma, vi em algum post que se nao definir a senha, automaticamente tenta autenticar com o windows.
vou testar com o usuario sa.
e estou testando localmente, q pastas e arquivos sao estes?
valeuu
cara.. de boa.. ultima tentativa..
para utilizar a conexão PDO-odbc você é obrigado a ter uma senha.
a forma que eu conheço de criar essa senha é como explicado acima.
sobre permissões, normalmente o sql server exige direitos de leitura e gravação na pasta onde você guarda o bd e nos arquivos que estão nessas pastas.
Eu conecto no management studio com a autenticacao do windows, entao supunho que funcione desta forma, vi em algum post que se nao definir a senha, automaticamente tenta autenticar com o windows.
ta, mas isso vale p/ o Management Studio, ok?
fiz tudo isso ai, mesmo erro:
Array ( [0] => Array ( [0] => 08001 [sqlSTATE] => 08001 [1] => 2
=> 2 [2] => [Microsoft][sql Server Native Client 10.0]Named Pipes Provider: Could not open a connection to SQL Server [2]. [message] => [Microsoft][sql Server Native Client 10.0]Named Pipes Provider: Could not open a connection to SQL Server [2]. ) [1] => Array ( [0] => HYT00 [sqlSTATE] => HYT00 [1] => 0 [code] => 0 [2] => [Microsoft][sql Server Native Client 10.0]Login timeout expired [message] => [Microsoft][sql Server Native Client 10.0]Login timeout expired ) [2] => Array ( [0] => 08001 [sqlSTATE] => 08001 [1] => 2 [code] => 2 [2] => [Microsoft][sql Server Native Client 10.0]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. [message] => [Microsoft][sql Server Native Client 10.0]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. ) )AE GALERA CONSEGUI CONECTAR COM AS INFORMACOES DO POST #7
O PROBLEMA ERA AUTTENTICACAO DO WINDOWS, PELO JEITO NAO FUNCIONA ! CONSEGUI AUTENTICANDO COM USUARIO DO SQL SERVER
VALEUUUUUUUUUUUUUUUUU
Voce ativou a dll mssql no php.ini?