webForumDet fria alternativet

Koppling mot MySql

7 svar · 245 visningar · startad av nordan

nordanMedlem sedan juni 2000929 inlägg
#1

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.

------------------
/nordan

HansenMedlem sedan aug. 2000383 inlägg
#2

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 *

------------------
Hansen
c.h@ngmedia.com

[Redigerat av Hansen den 19 jul 2001]

HansenMedlem sedan aug. 2000383 inlägg
#3

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

------------------
Hansen
c.h@ngmedia.com

nordanMedlem sedan juni 2000929 inlägg
#4

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?

------------------
/nordan

Peter_BMedlem sedan apr. 2000595 inlägg
#5

har du startat mysqld?

är DBI och allt det korrekt installerat?

------------------
PeterSign v 2.3.36

nordanMedlem sedan juni 2000929 inlägg
#6

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

------------------
/nordan

HansenMedlem sedan aug. 2000383 inlägg
#7

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>

------------------
Hansen
c.h@ngmedia.com

[Redigerat av Hansen den 20 jul 2001]

nordanMedlem sedan juni 2000929 inlägg
#8

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

------------------
/nordan

Genererad på 369 ms · cache AV · v20260730165559-full.f96bc7eb