Hej, Du använder dig av en connectionsträng där providern och sökväg till databas anges i stället. Kolla om det inte finns angivet på www.connectionstrings.com behöver jag inte använda något annat kommando än odbc_connect ? Troligen är det: Han undrar hur han skall koppla upp sig mot en accessdatabas i PHP, inte till en MySQL pelle ;) Slarvade då det var php-forumet och förutsatte direkt att det var mySQL han var ute efter. Får lära mig läsa igen :-) Tack fredrik Tjena. Om du tittar på den kod du angett så kommer du se hyfsat snabbt var felet är, dvs om du inte upptäckte det.ansluta till accessdatabas från php utan odbc
Jag skulle vilja ansluta till en accessdatabas utan att behöva ha en DSN. Kan någon beskriva hur man gör ?
/NicklasSv: ansluta till accessdatabas från php utan odbc
Sv:ansluta till accessdatabas från php utan odbc
Sv: ansluta till accessdatabas från php utan odbc
<code>
connstr = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=myDatabase;USER=myUsername;PASSWORD=myPassword;OPTION=3;
con.open connstr
</code>
Om inte, troligen någon av dessa:
<info>
# ODBC 2.50 Local database:
"Driver={mySQL};Server=localhost;Option=16834;Database=mydatabase;"
# ODBC 2.50 Remote database:
"Driver={mySQL};Server=data.domain.com;Port=3306;Option=131072;Stmt=;Database=my-database;Uid=username;Pwd=password;"
# ODBC 3.51 Local database:
"DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=myDatabase;USER=myUsername;PASSWORD=myPassword;OPTION=3;"
# ODBC 3.51 Remote database:
"DRIVER={MySQL ODBC 3.51 Driver};SERVER=data.domain.com;PORT=3306;DATABASE=myDatabase;USER=myUsername;PASSWORD=myPassword;OPTION=3;"
</info>Sv:ansluta till accessdatabas från php utan odbc
Vill du koppla dig till accessdatabas i PHP kan du använda dig av COM-objektet.
Ex.
<code>
<?php
$adoConnection = new COM( "ADODB.Connection" );
$adoRecordset = new COM( "ADODB.Recordset" );
/* Ersätt DSN=dinDSN med connectionsträngen.. så bör det funka.
utgår i från att du kan en smula PHP! :D
*/
$adoConnection->open( "DSN=dinDSN" );
?>
</code>Sv: ansluta till accessdatabas från php utan odbc
Sv: ansluta till accessdatabas från php utan odbc
Jag håller på med just detta. Har provat alla exempel som finns, men får inte till det. Försöker utan odbc och min kod ser ut så här:
<?
$db_connection = new COM("ADODB.Connection") or die("Kan inte starta ADO");
echo "Ok";
$db_connstr = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" .
realpath("php/php1.mdb") . ";DefaultDir=" .
realpath("php") or die("Kan inte starta databas");
echo "<br><br>Ok";
$adoConnection->open($db_connstr);
?>
Men då kommer bara meddelandet:
"Fatal error: Call to a member function open() on a non-object in C:\inetpub\wwwroot\odbc.php on line 13"
Non-object står för att den inte hittar filen? Eller inte kan öppna filen? non-object låter ju som att den inte öht finns..
Börjar misstänka att det är något annat än de fina raderna ovan.
Har jag missat något i installationen av PHP 5?
Har jag missat någon inställning i IIS?
Har jag missat någon av alla bisarra Vista Business-säkerhetsinställningar så man inte kan komma åt databasen på detta sätt?
Skillnaden mellan himmel och helvete är verkligen hårfint i den här världen. Hade ju lika gärna kunnat fungera på en gång. Nu har jag säkert suttit i 20 timmar med den här grejen och fattar ingenting..
Finns det förresten någon bebisinstruktion på hur man kopplar en access databas i PHP?=)
Tack på förhand!
/PelleSv:ansluta till accessdatabas från php utan odbc
Se på raden:$db_connection = new COM("ADODB.Connection") or die("Kan inte starta ADO");
och raden: $adoConnection->open($db_connstr);
Om du byter ut $adoConnection->open(...) till $db_connection->open(..) kommer det nog funka bättre, $adoConnection finns inte i kontextet eftersom du inte har skapat det, men $db_connection finns , den har du skapat.
Hoppas det hjälper dig en sväng på traven. :)