---
title: "Koppling mot MySql"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/19387-koppling-mot-mysql"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "nordan"
published: "2001-07-19T04:28:00.000Z"
updated: "2001-07-20T15:42:00.000Z"
replies: 7
views: 263
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/19387-koppling-mot-mysql"
---

# Koppling mot MySql

## #1 — nordan, 2001-07-19T04:28Z

Hej!
Är det någon som kan hjälpa mig att få en koppling till en MySql databas.
Det blir bara massa fel när jag håller på och jag har inte lyckas fått fram någon info från min databas.
iaf om jag då har en databas som heter test med en tabell som heter tbl_test
i denna tabell har jag tre cols 
id fnamn och enamn
Går det enkelt att förklara för mig hur man gör en koppling så att den funkar!
Jag har konto på space2u.com om det är någon som har det och har lyckas med detta.

Permalänk: https://www.webforum.nu/p/19387

## #2 — Hansen, 2001-07-19T12:16Z

Hej,

Testa med denna kod, ändra databas, användarnamn och lösenord.

Finns uppladdat här: <http://freebox.com/c.h/perl/dbi_connect.pl.txt> 

```
#!/usr/bin/perl -w

use strict;
use CGI;
use DBI;

my $username = '';
my $password = '';
my $database = '';
my $table    = 'tbl_test';

my $q = new CGI;

my $dbh = DBI->connect( "DBI:mysql:$database", $username, $password )
  or cgi_error( "Couldn't connect to database: " . DBI->errstr );

my $sth = $dbh->prepare("SELECT * FROM $table")
  or cgi_error( "Couldn't prepare statement: " . $dbh->errstr );

$sth->execute()
  or cgi_error( "Couldn't execute statement: " . $dbh->errstr );

print $q->header,
      $q->start_html("DBI Test"),
      $q->h3("Resultat:"),
      $q->hr,
      $q->start_table();

while ( my @data = $sth->fetchrow_array() ) {
    print $q->Tr( $q->td( \@data ) );
}

print $q->end_table(),
      $q->end_html;

$sth->finish();
$dbh->disconnect;

sub cgi_error {
    my ($error) = @_;

    $dbh->disconnect if ($dbh);

    print
      $q->header,
      $q->start_html("Error"),
      $q->h3("Error"),
      $q->hr,
      $q->p, $error,
      $q->end_html;
    exit;
}
```

\* Ändrade koden något \*

Permalänk: https://www.webforum.nu/p/341941

## #3 — Hansen, 2001-07-19T12:37Z

Om några fel uppstår så borde vi få några felmeddelande att jobba med, berätta gärna hur det går!

Permalänk: https://www.webforum.nu/p/341942

## #4 — nordan, 2001-07-19T13:02Z

Tack Hansen!
Tyvärr så funka det inte med din kod heller :\\
Här är felmedelnade som jag fick

Couldn't connect to database: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)

Vet någon snäll typ som Hansen eller någon annan hur man skall gått tillväga?

Permalänk: https://www.webforum.nu/p/341943

## #5 — Peter_B, 2001-07-19T21:28Z

har du startat mysqld? 

är DBI och allt det korrekt installerat?

Permalänk: https://www.webforum.nu/p/341944

## #6 — nordan, 2001-07-19T21:35Z

Det är inte jag som har sql servern utan space2u.det går att koppla upp sig mot den med hjälp av admphp så man kan göra tabeller m.m. och jag hoppas att DBI modulen är rätt installerad

Ingen som vet vad felmedelade betyder? eller vad man kan göra för att få det att funka?

Jag har använt mig av koden som Hansen har lagt ut

Permalänk: https://www.webforum.nu/p/341945

## #7 — Hansen, 2001-07-20T14:24Z

Hej,

Ok, php fungerar. Testa detta php script och se om det fungerar.
 <http://freebox.com/c.h/perl/db_connect.php.txt> 

```
<?php

$username = '';
$password = '';
$database = '';
$table    = 'tbl_test';
$host     = 'localhost';

?>

<HEAD>
  <TITLE>DB Connect test</TITLE>
</HEAD>

<BODY>

<TABLE BORDER=1>

<?php

$connection = mysql_connect($host, $username, $password)
        or die("Couldn't make connection.");

$db = mysql_select_db($database, $connection)
        or die("Couldn't select database.");

$sql = "SELECT *
        FROM $table";

$sql_result = mysql_query($sql,$connection)
        or die("Couldn't execute query.");

while ($row = mysql_fetch_array($sql_result)) {
        echo "<TR>\n";

        for ($i = 0; $i <= count($row); $i++) {
            echo "<TD>$row[$i]</TD>\n";
        }
        echo "</TR>\n";
}

mysql_free_result($sql_result);
mysql_close($connection);

?>

</TABLE>
</BODY>
</HTML>
```

Permalänk: https://www.webforum.nu/p/341946

## #8 — nordan, 2001-07-20T15:42Z

Hallå! Det har fixat sig med kopplingen jag hade missat att skriva in host :r
Tackar så mycket för hjälpen iaf :D

Permalänk: https://www.webforum.nu/p/341947

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/19387-koppling-mot-mysql
