Avatar billede Npinv Nybegynder
26. januar 2011 - 14:37 Der er 17 kommentarer og
1 løsning

Forbindelse til MSSQL via. PHP

Jeg har problemer med at forbinde til en MSSQL database.
Jeg har fjernet udkommenteringen af "extension=php_mssql.dll" i php.ini.

Kode:
<?php
//phpinfo();
// Server in the this format: <computer>\<instance name> or
// <server>,<port> when using a non default port number
$server = "10.0.0.10\mssqlserv,1001";
$user = "sa";
$password = "1234;

$link = mssql_connect ($server,$user,$password);

if (!$link) {
    die('Something went wrong while connecting to MSSQL');
}
?>

Fejlen er:
Fatal error: Call to undefined function mssql_connect() in E:\Sites\sandbox.unosoft.dk\DBconnZeus.php on line 9

Nogen der kan hjælpe?
Avatar billede michael_stim Ekspert
26. januar 2011 - 15:16 #1
Har du været inde i ini-filen og "afmarkeret" ms sql server?
Avatar billede michael_stim Ekspert
26. januar 2011 - 15:17 #2
Hov, det skrev du jo i starten. Sorry.
Avatar billede Npinv Nybegynder
26. januar 2011 - 15:29 #3
Ja, det har jeg. Men jeg kan ikke se noget om mssql i phpinfo() - burde man ikke kunne det?

I kan se phpinfo her: http://sandbox.unosoft.dk/phpinfo.php
Avatar billede michael_stim Ekspert
26. januar 2011 - 15:31 #4
Du skal nok have extensionen i biblioteket.
Avatar billede Npinv Nybegynder
26. januar 2011 - 15:37 #5
Kan du uddybe lidt?
Avatar billede michael_stim Ekspert
26. januar 2011 - 15:38 #6
Tror ikke php 5.3 er kompileret med mssql. Kig i dit ext library om dll filen eksisterer.
Avatar billede Npinv Nybegynder
26. januar 2011 - 15:42 #7
C:\Program Files\PHP\ext
Her ligger filen php_mssql.dll
Avatar billede michael_stim Ekspert
26. januar 2011 - 15:53 #8
Så må jeg nok melde pas :(
Avatar billede leif Seniormester
26. januar 2011 - 16:28 #9
Måske dumt spørgsmål, men har du genstartet IIS ?
Avatar billede Npinv Nybegynder
26. januar 2011 - 16:32 #10
Ikke for nylig nej, men jeg har heller ikke lavet nogen ændringer.
Men jeg kan da godt lige prøve at genstarte den, og se om det løser problemet.
Avatar billede leif Seniormester
26. januar 2011 - 16:36 #11
Ikke serveren, men selve IIS servicen (Formoder det er en IIS og ikke Apache, med Apache skal man huske at genstarte serveren ved ændringer i enten PHP eller Apache konfiguration)
Avatar billede Npinv Nybegynder
26. januar 2011 - 16:38 #12
Fejlen er der stadig efter genstart af IIS.
Avatar billede Npinv Nybegynder
26. januar 2011 - 16:41 #13
Leif - Jeg genstartede følgende:
IIS admin service
inkl.:
World Wide Web publishing service
SMTP
FTP
SSL
Avatar billede leif Seniormester
26. januar 2011 - 16:42 #14
Nu er jeg ikke lige stærk i IIS og MSSQL, men så vil min påstand være at så enten peger den på forkert Extension bibliotek, filen er beskadiget eller du retter i en anden php.ini end IIS forventer du bruger
Avatar billede Npinv Nybegynder
26. januar 2011 - 16:49 #15
Du kan se min phpinfo i det link der er ovenfor.

Configuration File (php.ini) Path    C:\WINDOWS
Loaded Configuration File    C:\Program Files\PHP\php.ini

extension_dir    C:\Program Files\PHP\ext    C:\Program Files\PHP\ext

I 2 php.ini de filer, har jeg fjernet udkommentering af extension=php_mssql.dll

Og php_mssql.dll er i mappen C:\Program Files\PHP\ext.


Er der noget jeg overser?
Avatar billede Npinv Nybegynder
26. januar 2011 - 16:51 #16
php_mssql.dll skal ikke ligge i c:\windows, vel?
Avatar billede Npinv Nybegynder
26. januar 2011 - 17:00 #17
I phpinfo, nede under Enviroment står der følgende:

C:\Program Files\PHP\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microsoft SQL Server\90\DTS\Binn\;C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Dell\SysMgt\oma\bin

Betyder det ikke, at den har loaded php_mssql.dll korrekt?
Avatar billede Npinv Nybegynder
26. januar 2011 - 17:36 #18
Jeg tror jeg har fundet løsningen.
mssql_connect funktionen er åbenbart uddateret. Fandt dette script på MSDN, og den siger i hvert fald "Connection established."

<?php
$serverName    = "test";
$dbname    = "test";
$uid  = "sa";
$pwd = "1234";

$connectionInfo = array("UID" => $uid, "PWD" => $pwd, "Database"=>$dbname);

$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn )
{
    echo "Connection established.\n";
}
else
{
    echo "Connection could not be established.\n";
    die( print_r( sqlsrv_errors(), true));
}

//-----------------------------------------------
// Perform operations with connection.
//-----------------------------------------------

/* Close the connection. */
sqlsrv_close( $conn);
?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester