Array
(
)

Conectando php com Sql Server 200(Error)

PHP
Eloi Filho
   - 19 jul 2013

Olá, Estou com um problema, ao conectar o PHP com o sql server 2000 aparece essa mensagem.

Fatal error: Call to undefined function mssql_connect().
OBG: Estou utilizando o wamp.
Agradeço quem poder me ajudar! Obrigado

Marcio Araujo
   - 24 jul 2013

para fazer essa conexão é necessario algo alem do php, algum complemento?

José
   - 24 jul 2013

Olá amigo provavelmente seu problema está no suporte ao mssql, configure no php.ini a extensão deve estar assim

;php_mssql.dll

E para funcionar deixe assim

php_mssql.dll

Bruno Betioli
   - 24 jul 2013

No Wamp, nem é preciso mexer no php.ini

É só clicar no tray icon do WAMP, ir em PHP, extensões PHP e marcar php_mssql. Depois, reinicia todos os serviços do WAMP.

Mas, para aprendizado, se quiser mexer no php.ini é só procurar pela seguinte linha:

#Código

;extension=php_mssql.dll


Se ela estiver assim, retire o ponto e vírgula do início, salve e reinicie o WAMP. Se não encontrá-la, insira-a sem o ponto e vírgula, salve e reinicie.

Lembrando que você pode acessar o php.ini do WAMP pelo tray icon, PHP, php.ini.

Marcio Araujo
   - 24 jul 2013

tem que fazer tudo isso? hehehehe

Eloi Filho
   - 25 jul 2013

Eu ja fui no arquivo do php.ini, alterei essa configuração, tirei as ";" reinicie o servidor mais wamp mais ainda nao funcionou, deu o mesmo erro!!

Agradeço!

Eloi Filho
   - 25 jul 2013

Fonte.

conn.php
#Código

<?php
	$servidor = "servidorvap";
	$usuario = "sa";
	$senha = "";
	$bd = "arcoiris";
?>


-----------------------------------------
acesso.php
#Código
<?php
	 require("conn.php");
      
	 if($conn_id = mssql_connect("$servidor","$usuario","$senha") or die("Erro ao conectar!!"))  {
 	 if($bd = mssql_select_db($bd, $conn_id))  {
	   echo "Conectado com Sucesso!";
	 }
	 else{
	   echo "Base nao encontrada!";
	 }
	mssql_close();
	}
	else {
	   echo "Erro... :(";
	}
?>


e continua dando o mesmo erro!

Agradeço desde ja!

Bruno Betioli
   - 27 jul 2013

É falta da biblioteca php_mssql.dll

Verifique se ela está presente em c:\wamp\bin\php\php5.x.x\ext

Testei seu código aqui no meu WAMP, deu o mesmo. Nem notei que não havia essa biblioteca.

Uso o WAMP 2.4, a versão do PHP dele é 5.4.16, procurei essa biblioteca para ele mas não achei.

Veja qual é a sua versão do PHP no WAMP. Se for > 5.4, encontrar essa biblioteca será muito difícil. A solução é utilizar a biblioteca sql_srv, mas tem sintaxe diferente.

Se for < 5.3, é bem viável encontrar a biblioteca mssql.

Seja como for, qualquer uma das duas terão que ser jogadas na pasta ext descrita acima e devem ser incluídas no php.ini como você já fez. Lembrando que, no php.ini, você deve incluir o nome inteiro da DLL.

William (devwilliam)
   - 27 jul 2013

Colega leia esse artigo, o autor também usou SqlServer 2000 mas com PDO(minha preferência pessoal).
http://craigballinger.com/blog/2011/08/usin-php-5-3-with-mssql-pdo-on-windows/

Marcio Araujo
   - 27 jul 2013


Citação:
É falta da biblioteca php_mssql.dll

Verifique se ela está presente em c:\wamp\bin\php\php5.x.x\ext

Testei seu código aqui no meu WAMP, deu o mesmo. Nem notei que não havia essa biblioteca.

Uso o WAMP 2.4, a versão do PHP dele é 5.4.16, procurei essa biblioteca para ele mas não achei.

Veja qual é a sua versão do PHP no WAMP. Se for > 5.4, encontrar essa biblioteca será muito difícil. A solução é utilizar a biblioteca sql_srv, mas tem sintaxe diferente.

Se for < 5.3, é bem viável encontrar a biblioteca mssql.

Seja como for, qualquer uma das duas terão que ser jogadas na pasta ext descrita acima e devem ser incluídas no php.ini como você já fez. Lembrando que, no php.ini, você deve incluir o nome inteiro da DLL.


aonde encontro essa biblioteca, é colar na pasta citada?

Bruno Betioli
   - 27 jul 2013

É só baixar desse link: http://www.microsoft.com/en-us/download/details.aspx?id=20098

Vem tanto os drivers do sql_srv quando do pdo sql_srv.

A versão 2.0 abrange PHP 5.2 e 5.3

A versão 3.0 abrange PHP 5.3 e 5.4

De acordo com o site, > 5.3.6 deve-se usar a versão 3.0.

Você pega a dll e joga na pasta c:\wamp\bin\php\php5.x.x\ext

Aí é só alterar o php.ini do WAMP (já expliquei como acessá-lo) e adicionar a linha:

extension=nome_da_dll.dll

Salva o php.ini e reinicia o WAMP.

Vou explicar brevemente umas abreviaturas existentes nos nomes das dlls:

VC6 - compilado em visual studio 6.0 (Old)

VC9 - compilado em visual studio 2008 (necessário o microsoft c++ 2008 redistributable)

VC10 - compilado em visual studio 2010 (necessário o microsoft c++ 2010 redistributable)

VC11 - compilado em visual studio 2012 (necessário o microsoft c++ 2012 redistributable, PHP 5.5 só será VC11)

TS - Thread Safe

NTS - Non Thread Safe

Veja a diferença no link: http://www.iis-aid.com/articles/my_word/difference_between_php_thread_safe_and_non_thread_safe_binaries

A grosso modo, utilize nts em servidores IIS e ts em servidores apache.

Bom divertimento kkkkkk

Dica: vá de PDO, é mais seguro e cada vez mais necessário hoje em dia.

Marcio Araujo
   - 28 jul 2013

Opa!!! Muito obrigado!!!