Conectar Banco de dados MSSQL a um Site PHP

19/01/2015

Pessoal estou com dificuldades para conectar meu banco de dados MSSQL ao meu projeto PHP, estou usando Wampserver 2.5 em minha máquina como servidor local e o Microsoft SQL Server Express 2008 como banco de dados, e estou usando a autenticação windows e não criei nenhum usuário e nem senha para ele;
para a conexão ao banco de dados tenho que informar os seguinte dados:

$host = " ";
$user = "";
$pass = "";

mas quem seria o meu host se eu estou rodando ma minha propria máquina e quem é o usuário se não criei nele no Sql server e nem detreminei senha?

Moisés

Melhor resposta

19/01/2015

Boa noite Moises,

olha este post, não é muito antigo

[url]http://www.devmedia.com.br/forum/conexao-entre-php-e-sql-server-2014/482183[/url]

Marcio Araujo

Responder Citar

Outras Respostas

20/01/2015

Moisés

Marcio Araujo,

Eeste poste eu já tinha visto e tentei as configurações, mas não deu certo, estou usando as seguintes configurações agora estou tentando autenticar com "sa"
usuário padrão do MSSQL.

<?php

//conexao com o mssql
$host = "localhost";
$user = "sa";
$pass = "xxxxxxxxxxx";
$banco = "petshop";

$conexao = mssql_connect($host) or die( mssql_get_last_message("não foi possivel conectar"));
mssql_select_db($banco, $conexao) or die (mssql_get_last_message());

?>


Esta dando este erro, eu já istalei os drives de conecção do mssql com o wamp serve e tambem a tivei as mesma no no arquivo php.ini e mesmo assim continua com estes erros.

( ! ) Fatal error: Call to undefined function mssql_connect() in C:\Program Files\wamp\www\Projeto\conexao.php on line 8
Call Stack
# Time Memory Function Location
1 0.1900 134800 ( ) ..\conexao.php:0
Responder Citar

20/01/2015

Marcio Araujo

Já viu esses tambem?

[url]http://wiki.locaweb.com.br/pt-br/Conectando-se_ao_MS_SQL_Server_atrav%C3%A9s_do_PHP[/url]

[url]http://www.php.com.br/view_84?habilitando-o-php-com-suporte-ao-sql-server-no-windows[/url]

[url]http://www.oficinadanet.com.br/artigo/php/sql_server__php_conexao_ao_banco_de_dados[/url]
Responder Citar

20/01/2015

Pedro Amaral

starta o mysql.

O wamp, easyphp e xamp por padrão tem que starta o mysql.
Responder Citar

20/01/2015

William (devwilliam)

starta o mysql. O wamp, easyphp e xamp por padrão tem que starta o mysql.


Colega Pedro acho que você está confundindo, a dúvida no post é relativa a conexão com o SQL Server 2008 não MySQL!


Moisés de uma olhada em como instalar a extensão pdo_sqlsrv, na empresa uso essa para trabalhar com SQL Server 2008 R2, tentei a mssql mas dava muito problema.
Responder Citar

21/01/2015

Moisés

Pedro Paulo Machado do Amaral,

No Mysql eu consegui fazer toda conenxão, porem, nó posso trabalhar com Mysql, pois tenho outro sistema vai falar com o mesmo database do site o meu outro sistema e em C#, se eu usar Mysql vou ter mais dificuldades do que já estou tendo.
Responder Citar

21/01/2015

Moisés

William,

Já fiz o procedimento referente o pdo_sqlsrv, baixei as dll no site da Microsoft, e também adicionei elas no php.ini, antes de postar a duvida aqui no site.
Responder Citar

21/01/2015

Moisés

Vou dar uma olhada nesses links
Responder Citar

21/01/2015

William (devwilliam)

William, Já fiz o procedimento referente o pdo_sqlsrv, baixei as dll no site da Microsoft, e também adicionei elas no php.ini, antes de postar a duvida aqui no site.


Funcionou?

Não se esqueça que essa é uma extensão PDO, então a sintaxe de uso é diferente da extensão _mssql.
Responder Citar

21/01/2015

Fernando C

PDO não funciona c/ bancos proprietários (oracle/SQL Server), pelo menos em windows.
use PDO-ODBC.
quem é o usuário se não criei nele no Sql server e nem detreminei senha?

vc terá que instalar o SQL Server (ou uma nova instância) em "mixed mode",
ai ele t pedirá p/ definir a senha.
O usuario, por padrão, será o "sa".
também verifique as permissões (pasta e arquivos) e libere portas e (o principal) o protocolo TCP/IP p/ a instância.
Responder Citar

21/01/2015

William (devwilliam)

Fernando sinto em discordar de você amigo, trabalho com a extensão pdo_sqlsrv (PDO) e com PHP rodando no IIS, Windows Server 2008 R2.

Utilizamos em mais 10 portais essa extensão e funciona tranquilamente, eu mesmo configurei o ambiente para rodar essa extensão.

Existe uma extensão para PHP rodando no Linux trabalhar com SQL Server chamada pdo_dblib.
Responder Citar

21/01/2015

Marcio Araujo

Vou dar uma olhada nesses links


Ajudou?
Responder Citar

21/01/2015

Moisés

Ajudou bastante, consegui autenticar o banco de dados pelo usuário "AS" e Senha, onde meu arquivo de conexão parou de dá erros, porem quando faço a inclusão do mesmo na pagina de interface fica tudo em branco não mostra nada ou não aprece nem erro e nem funciona ou senha estou fazendo assim:

aquivo conexao.pho:
<?php

// Dados do banco
$dbhost = "localhost\SILVA-PC\SQLEXPRESS"; #Nome do host
$db = "pet"; #Nome do banco de dados
$user = "sa"; #Nome do usuário
$password = "XXXXXXXX"; #Senha do usuário


@mssql_connect($dbhost,$user,$password) or die("Não foi possível a conexão com o servidor!");
@mssql_select_db("$db") or die("Não foi possível selecionar o banco de dados!");

?>

Minha pagina:
<?php include('conexao.php'); ?> //Estou usando esta linha para chamar meu arquivo conexão porem quando a insiro não mostra nada fico tudo em branco, quando não colo a mesma minha pagina exibi normal mente
Responder Citar

21/01/2015

Moisés

[quote]William, Já fiz o procedimento referente o pdo_sqlsrv, baixei as dll no site da Microsoft, e também adicionei elas no php.ini, antes de postar a duvida aqui no site.


Funcionou?

Não se esqueça que essa é uma extensão PDO, então a sintaxe de uso é diferente da extensão _mssql.[/quote]

Como assim diferente assim eu não conheço ainda!!
Responder Citar

21/01/2015

Moisés

Ajudou bastante, consegui autenticar o banco de dados pelo usuário "AS" e Senha, onde meu arquivo de conexão parou de dá erros, porem quando faço a inclusão do mesmo na pagina de interface fica tudo em branco não mostra nada ou não aprece nem erro e nem funciona ou senha estou fazendo assim: aquivo conexao.pho: <?php // Dados do banco $dbhost = "localhost\SILVA-PC\SQLEXPRESS"; #Nome do host $db = "pet"; #Nome do banco de dados $user = "sa"; #Nome do usuário $password = "XXXXXXXX"; #Senha do usuário @mssql_connect($dbhost,$user,$password) or die("Não foi possível a conexão com o servidor!"); @mssql_select_db("$db") or die("Não foi possível selecionar o banco de dados!"); ?> Minha pagina: <?php include('conexao.php'); ?> //Estou usando esta linha para chamar meu arquivo conexão porem quando a insiro não mostra nada fico tudo em branco, quando não colo a mesma minha pagina exibi normal mente


Gente falei neste ultimo post que o meu arquivo de conexão não estava mais dando erros, vi que o motivo dos erro não aparecerem era o sibolo de "@" no inicio das sintaxes ou seja continuo sem conseguir conectar.

pessoal estou os meus arquivos no Wampserve a minha instancia do MSSQL é "SILVA-PC\SQLEXPRESS" como nessa condiçoes para o php no wampserve como ficaria o nome do servidor?

Ficaria assim: "localhost/SILVA-PC/SQLEXPRESS"? estou achando que é nome do servidor que não esta batendo!
Responder Citar

21/01/2015

Moisés

Ajudou bastante, consegui autenticar o banco de dados pelo usuário "AS" e Senha, onde meu arquivo de conexão parou de dá erros, porem quando faço a inclusão do mesmo na pagina de interface fica tudo em branco não mostra nada ou não aprece nem erro e nem funciona ou senha estou fazendo assim: aquivo conexao.pho: <?php // Dados do banco $dbhost = "localhost\SILVA-PC\SQLEXPRESS"; #Nome do host $db = "pet"; #Nome do banco de dados $user = "sa"; #Nome do usuário $password = "XXXXXXXX"; #Senha do usuário @mssql_connect($dbhost,$user,$password) or die("Não foi possível a conexão com o servidor!"); @mssql_select_db("$db") or die("Não foi possível selecionar o banco de dados!"); ?> Minha pagina: <?php include('conexao.php'); ?> //Estou usando esta linha para chamar meu arquivo conexão porem quando a insiro não mostra nada fico tudo em branco, quando não colo a mesma minha pagina exibi normal mente


Gente falei neste ultimo post que o meu arquivo de conexão não estava mais dando erros, vi que o motivo dos erro não aparecerem era o sibolo de "@" no inicio das sintaxes ou seja continuo sem conseguir conectar.

pessoal estou os meus arquivos no Wampserve a minha instancia do MSSQL é "SILVA-PC\SQLEXPRESS" como nessa condiçoes para o php no wampserve como ficaria o nome do servidor?

Ficaria assim: "localhost/SILVA-PC/SQLEXPRESS"? estou achando que é nome do servidor que não esta batendo!
Responder Citar