Conectar Banco de dados MSSQL a um Site PHP
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?
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
Curtidas 0
Melhor post
Marcio Araujo
19/01/2015
Boa noite Moises,
olha este post, não é muito antigo
[url]https://www.devmedia.com.br/forum/conexao-entre-php-e-sql-server-2014/482183[/url]
olha este post, não é muito antigo
[url]https://www.devmedia.com.br/forum/conexao-entre-php-e-sql-server-2014/482183[/url]
GOSTEI 2
Mais Respostas
Moisés
19/01/2015
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
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
GOSTEI 0
Marcio Araujo
19/01/2015
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]
[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]
GOSTEI 1
Pedro Amaral
19/01/2015
starta o mysql.
O wamp, easyphp e xamp por padrão tem que starta o mysql.
O wamp, easyphp e xamp por padrão tem que starta o mysql.
GOSTEI 0
William
19/01/2015
starta o mysql.
O wamp, easyphp e xamp por padrão tem que 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.
GOSTEI 0
Moisés
19/01/2015
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.
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.
GOSTEI 0
Moisés
19/01/2015
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.
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.
GOSTEI 0
Moisés
19/01/2015
Vou dar uma olhada nesses links
GOSTEI 0
William
19/01/2015
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.
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.
GOSTEI 1
Fernando C
19/01/2015
PDO não funciona c/ bancos proprietários (oracle/SQL Server), pelo menos em windows.
use PDO-ODBC.
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.
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.
GOSTEI 0
William
19/01/2015
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.
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.
GOSTEI 0
Marcio Araujo
19/01/2015
Vou dar uma olhada nesses links
Ajudou?
GOSTEI 0
Moisés
19/01/2015
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
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
GOSTEI 0
Moisés
19/01/2015
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.
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.
Como assim diferente assim eu não conheço ainda!!
GOSTEI 0
Moisés
19/01/2015
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
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!
GOSTEI 0
Moisés
19/01/2015
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
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!
GOSTEI 0
William
19/01/2015
Como assim diferente assim eu não conheço ainda!!
Moisés para se conectar utilizando PDO basicamente seria assim:
$conexao = new PDO("sqlsrv:server=<IP_ou_ServerName>; database=nome_banco_dados;", "usuário", "senha");
Essa página pode ajudar você com outras dúvidas [url:descricao=https://msdn.microsoft.com/en-us/library/ff754357(v=sql.105).aspx]https://msdn.microsoft.com/en-us/library/ff754357(v=sql.105).aspx[/url]
GOSTEI 0
Marcio Araujo
19/01/2015
PDO está sendo a forma mais utilizada, padrão não é?
GOSTEI 0
William
19/01/2015
Olhá Márcio, PDO é utilizado pelos principais frameworks PHP do mercado e um dos vários motivos é o fato dessa biblioteca abstrair o acesso e manipulação de dados para diversos SGBDs, uma vez que extensões como myqli_ só trabalham com MySQL, mssql_ só trabalha com SQL Server e por aí vai.
Com PDO eu mesmo já trabalhei com MySQL, PostgreSQL e SQL Server usando a mesma sintaxe de acesso e manipulação de dados.
Com PDO eu mesmo já trabalhei com MySQL, PostgreSQL e SQL Server usando a mesma sintaxe de acesso e manipulação de dados.
GOSTEI 0
Marcio Araujo
19/01/2015
Interessante, a mesma sintaxe? é como se existisse uma sintaxe propria do PHP para os bancos?
GOSTEI 0
William
19/01/2015
Márcio vai 3 exemplos bem básicos de conexões, utilizando PDO onde a única diferença é nos dados de conexão, imagine que eu tenha a mesma tabela de clientes em 3 SGBDs diferentes (MySQL, SQL Server e PostgreSQL).
Observe a estrutura das conexões, estou atribuindo para variável $conexao:
Agora vou efetuar uma consulta simples, mas essa sintaxe equivale para os 3 SGBDs:
É importante mencionar que para essa consulta funcionar nos 3 SGBDs a instrução SQL não pode conter comandos proprietários, ou seja, instruções que só existem por exemplo no MySQL como 'LIMIT' ou 'TOP' para o SQL Server não podem ser executadas porque não são genéricas.
Basicamente é isso Márcio.
Observe a estrutura das conexões, estou atribuindo para variável $conexao:
// Conexão com MySQL
$conexao = new PDO("mysql:host=" . HOST . "; dbname=" . DBNAME . ";", USER, PASSWORD);
// Conexão com SQL Server
$conexao = new PDO("sqlsrv:server=" . HOST . "; database=" . DBNAME . ";", USER, PASSWORD);
// Conexão com PostgreSQL
$conexao = new PDO("pgsql:host=" . HOST . "; dbname=" . DBNAME . ";", USER, PASSWORD);
Agora vou efetuar uma consulta simples, mas essa sintaxe equivale para os 3 SGBDs:
$sql = "SELECT id, nome, cpf FROM cliente"; $stm = $conexao->prepare($sql); $stm->execute(); $dados = $stm->fetchAll(PDO::FETCH_OBJ);
É importante mencionar que para essa consulta funcionar nos 3 SGBDs a instrução SQL não pode conter comandos proprietários, ou seja, instruções que só existem por exemplo no MySQL como 'LIMIT' ou 'TOP' para o SQL Server não podem ser executadas porque não são genéricas.
Basicamente é isso Márcio.
GOSTEI 0
Moisés
19/01/2015
Boa Noite Pessoal!
Hoje consegui fazer a conexão do meu banco de dados com minha pagina php, use a modo de conexão odbc! Nem sei muito bem o que fiz que funcionou mas o que importa que esta rodando normalmente, Agradeço o esforço de cada uma tentou me ajudar nesse problema!
Meu muito Obrigado!
Hoje consegui fazer a conexão do meu banco de dados com minha pagina php, use a modo de conexão odbc! Nem sei muito bem o que fiz que funcionou mas o que importa que esta rodando normalmente, Agradeço o esforço de cada uma tentou me ajudar nesse problema!
Meu muito Obrigado!
GOSTEI 0
William
19/01/2015
Que bom, estou finalizando o tópico!
GOSTEI 1
William
19/01/2015
Que bom, estou finalizando o tópico!
GOSTEI 1