Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

vpess

[RESOLVIDO] Ligação BD SQLEXPRESS através PHP

Recommended Posts

vpess

Caros amigos,

Peço a vossa ajuda para conseguir resolver um problema com o qual já me defronto á muito tempo. Já perdi horas a pesquisar, como ligar-me a uma BD em SQLEXPRESS através de PHP, e não consigo!!!???

Consigo ligar-me a uma bd em mysql, mas em sqlexpress não.

Agradeço a vossa atenção.

Cumps.

Share this post


Link to post
Share on other sites
anolsi

Tens que te ligar via ODBC

EDIT: E ter os drivers do ODBC configurados


"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Share this post


Link to post
Share on other sites
vpess

Não me pode postar um exemplo que ligação. Já experimentei dezenas de exemplos e nada.

Já configurei uma ligação ODBC, e agora que código uso em PHP???

Share this post


Link to post
Share on other sites
anolsi

A ligação é bastante idêntica, só que existem coisas bastante especificas de cada tipo de BD que não estão presentes no ODBC.

Para estabeleceres a conexão tens: http://pt.php.net/manual/pt_BR/function.odbc-connect.php

Já experimentaste os exemplo do php.net? E de certeza que os drivers estão bem configurados?


"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Share this post


Link to post
Share on other sites
vpess

"-Quem não sabe é como quem não vê!"  :cheesygrin:

Obrigado caro amigo, era tão fácil.

Ps.: EU pansava que depois as pesquisas á bd era como no mysql,mas não.

Não me pode postar um exemplo de como fazer uma pesquisa por exemplo á tabela "clientes"???

Share this post


Link to post
Share on other sites
anolsi

Repara que o SQL não muda. O único a mudar é o nome das funções que chamas que não são as mesmas

$connection = odbc_connect($connection_string, $username, $password);
$sql = "SELECT * FROM clientes";
$result = odbc_execute($connection, $sql);
while(odbc_fetch_row($result)){
     //Faz alguma coisa
}

Acho que não me enganei em nada


"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Share this post


Link to post
Share on other sites
vpess

Dá-me estes erros, será da ligação ODBC:

Warning: odbc_execute() [function.odbc-execute]: No array passed in C:\AppServ\www\cmg\index.php on line 12

Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in C:\AppServ\www\cmg\index.php on line 13

Código PHP:

<?php
$con=odbc_connect("LOCAL", "sa", "****");
if( $con === false ) {
    // Your error reporting/handling here..
}
else{
echo 'ok';
}


$sql = "SELECT * FROM cl";
$result = odbc_execute($con, $sql);
while($row = odbc_fetch_array($result))
{ 
echo $row['nome']; 
echo "<br>"; 
}
?>

Share this post


Link to post
Share on other sites
vpess

Boas,

Aqui vai a solução ao meu problema. Muito obrigado aqueles que se empenharam em me ajudar.

        $connection_string = 'Driver={SQL Native Client};Server=nomeserver\instancia;Database=nomebd; Trusted_Connection=no;'; 
        $user = 'username'; 
        $pass = 'password'; 
        $conn = odbc_connect( $connection_string, $user, $pass ); 
        $sql =  "select ref, design, epv1 from st u_prom=1"; 
        $result=odbc_exec($conn, $sql); 

Share this post


Link to post
Share on other sites
cyclop

estas a usar windows, e existe um problema na ntwdblib.dll da microsoft sem ela nao consegues connectar-te ao sql, e pior aínda, a versão mais recente não trabalha devidamente.

Procedimentos:

colocar ntwdblib.dll na mesma directoria do php.exe e reiniciar

NOTA: A versão correcta dessa dll não sei bem qual será, eu uso a 8.00.194 e funfa as "mil maravilhas" o mssql_connect


"Quando eu for grande quero ser como o Celso"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.