Avatar billede jnrmgs Juniormester
12. april 2017 - 20:08 Der er 9 kommentarer og
2 løsninger

Access-database og MySQL

Hej!

Jeg har en simpel Access-database, som jeg gerne vil hente data fra på min hjemmeside. Jeg ved dog desværre ikke helt hvordan det gøres?

Hos min gamle udbyder fungerede det fint, men nu vises der ingenting?

Umiddelbart er der MySQL-support, hos min nye udbyder.

Hvad skrives for at "connecte" til databasen?
Avatar billede olsensweb.dk Ekspert
12. april 2017 - 20:54 #1
>Hvad skrives for at "connecte" til databasen?
i hvilke programmerings sprog vil du connecte ?? (PHP, ASP(X), JSP...)
hvilke database API anvender du ??  (ODBC, MYSQL(I), PDO, ADO...)

understøtter din udbyder det valgte API ??
feks ved jeg at hos det daværende meebox (nu lagt sammen med unoeuro), var der ikke understøttelse via ODBC i PHP7, og jeg kan huske jeg ikke kunnne anvende ODBC på deres unix pladtform, da jeg selv ville lege med access.

>Hos min gamle udbyder fungerede det fint, men nu vises der ingenting?
hvordan connectede du tidligere ??

alternativt må du convaterer din access database til mysql, som er understøttet af din nuværende udbyder.
Avatar billede vagnk Juniormester
13. april 2017 - 02:27 #2
Jeg har webhotel hos Unoeuro og har  ved flere lejligheder haft ODBC mellem DB hos hotellet og en Access hos mig selv. Jeg mener osse at Unoeuro har en nogenlunde beskrivelse af metoden. Jeg skriver "nogenlunde" fordi det under alle omstændigheder ikke er noget der virker i første forsøg. Hvis jeg husker  rigtigt var der osse en del hjælp i MySql hjælp. Skriv odbc i søgefeeltet - så kommer man et stykke vej derhenad.
Avatar billede arne_v Ekspert
13. april 2017 - 04:16 #3
Du har en MySQL database hos Unoeuro og en Access database paa din egen PC og du vil linke tabeller i MySQL databasen ind i din Access database?
Avatar billede vagnk Juniormester
13. april 2017 - 07:44 #4
arne_v: Hvis det er mig du spørger, så ja. Når først man har lavet en ODBC kan man i Access bestemme om man vil have en kopi af tabellerne i MySql eller et link, således at ændringer fra Access slår  igennem i MySql og vice-versa.

ODBC er en rigtig dejlig ting. Så vidt jeg husker havde Oracle  et meget stort ord at skulle have sagt dengang protokollen for ODBC blev fastlagt. Vi er vist helt tilbage til slutningen af 80-erne.
Avatar billede arne_v Ekspert
13. april 2017 - 16:14 #5
Jeg fik blandet dig og spoerger sammen. Sorry.
Avatar billede jnrmgs Juniormester
14. april 2017 - 16:37 #6
Jeg har fået konverteret min Access-database, så den nu ligger i phpMyAdmin hos min udbyder.

Jeg kan dog stadig ikke få forbindelse til den fra min hjemmeside. Jeg bruger Dreamweaver til at lave min hjemmeside.

Jeg har lavet en "MySQL-connection" her, men det virker desværre ikke!

Koden den laver ser således ud:

<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_statfork = "example.dk.mysql";
$database_statfork = "database_dk_";
$username_statfork = "database_dk_";
$password_statfork = "password";
$statfork = mysql_pconnect($hostname_statfork, $username_statfork, $password_statfork) or trigger_error(mysql_error(),E_USER_ERROR);
?>

Databasen hos min udbyder er "MariaDB", men om det gør nogen forskel i forhold til MySQL ved jeg ikke?
Avatar billede olsensweb.dk Ekspert
14. april 2017 - 17:10 #7
># FileName="Connection_php_mysql.htm"
der er vel en php fil 
# FileName="Connection_php_mysql.php"
ikke at det har betydning her da det kun er kommentar

hvis der er php code i en fil og det skal fortolkes af php skal filen hedder .php


>$statfork = mysql_pconnect($hostname_statfork, $username_statfork, $password_statfork) or trigger_error(mysql_error(),E_USER_ERROR);
nu ved jeg ikke hvilke vertion af PHP du har, men det gamle mysql API som du anvender i ovenstående er fjernet i PHP7, så brug mysqli eller PDO

hvilke fejl får du ??
slå error_reporting og display error til hvis det ikke er slået til

ref http://php.net/manual/en/mysqlinfo.api.choosing.php
<?php
// mysqli
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $result->fetch_assoc();
echo htmlentities($row['_message']);

// PDO
$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password');
$statement = $pdo->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row['_message']);

// mysql
$c = mysql_connect("example.com", "user", "password");
mysql_select_db("database");
$result = mysql_query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = mysql_fetch_assoc($result);
echo htmlentities($row['_message']);
?>


Recommended API

It is recommended to use either the mysqli or PDO_MySQL extensions. It is not recommended to use the old mysql extension for new development, as it was deprecated in PHP 5.5.0 and was removed in PHP 7.
Avatar billede jnrmgs Juniormester
14. april 2017 - 19:11 #8
Jeg får ingen fejlmeddelelser, kun en blank side :-(

Når jeg har lavet forbindelsen i Dreamweaver siger den "Your PHP server doesn't have the MySQL module loaded or you can't use the mysql_(p)connect functions"

Jeg har prøvet at skrive "mysqli_connect" i stedet for, men uden resultat.
Avatar billede arne_v Ekspert
14. april 2017 - 20:13 #9
Det lyder som om problemet er at mysql extension er vaek.

Saa du skal bruge mysqli (eller PDO) extension.

Det er ikke saa svaert at konvertere fra mysql til mysqli, men det kraever lidt mere end bare at erstatte mysql_pconnect med mysqli_connect.
Avatar billede jnrmgs Juniormester
14. april 2017 - 20:47 #10
Så er jeg kommet lidt videre! Det er lykkedes at få forbindelse til databasen ved at ændre en del af koden til mysqli!

Nu er problemet så bare at bl.a. tegn som æ, ø og å bare vises som sorte firkanter med spørgsmålstegn! Inde i selve databasen står de helt rigtigt! Så jeg jeg kan se kan man ikke ændre tegnsættet i databasen i phpMyAdmin!
Avatar billede arne_v Ekspert
14. april 2017 - 20:52 #11
sorte firkanter plejer at vaere ISO-8859-1 fortolket som UTF-8

maaske:

$con->set_charset('utf8');

kan fixe det.
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

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