Avatar billede radiohead Nybegynder
28. maj 2003 - 16:08 Der er 18 kommentarer og
2 løsninger

Få forbindelse til MySQL server

Jeg har købt webhotel hos B-One, og undrede mig over hvorfor PHP ikke afvikledes ordentligt på hotellet. ----> www.brothers1942.dk/snask

Jeg spurgte derfor deres support og fik dette svar :

'Du kalder forkert op til din MySQL database.
Husk vores PHP køre i SAFEMODE. Så nogle af dine koder skal nok ændres.'

Hvad skal jeg ændre og hvad skal jeg ændre til?

Jeg er totalt fortabt i programmering. Jeg har downloadet koden her: http://matchschedule.sourceforge.net
Avatar billede radiohead Nybegynder
28. maj 2003 - 16:09 #1
håber i forstår hvad jeg mener. Jeg har lidt svært ved at forklare, når jeg intet ved om det
Avatar billede ztyxx Nybegynder
28. maj 2003 - 16:11 #2
prøv dette

<?php

$host = "localhost"; // kan måske være noget andet, men du har sikkert fået det af din udbyder
$user = "dit_brugernavn";
$pass = "dit_password";

mysql_connect($host,$user,$pass) or die (mysql_error());
mysql_select_db("$user") or die (mysql_error());

// dine querys i databasen herefter

?>
Avatar billede googolplex Novice
28. maj 2003 - 16:11 #3
Brug følgende funktion, indsaær brugernavn osv.

function aabn_forbindelse() {
   
    $server = "localhost";
    $bruger = "";
    $kodeord = "";
    $database = "";

    if (!mysql_connect("$server", "$bruger", "$kodeord")) {
        udskriv_fejl("Kunne ikke oprette en forbindelse til MySQL");
    }
   
    if (!mysql_select_db("$database")) {
        udskriv_fejl("Kunne ikke vælge databasen: $database");
    }
}
Avatar billede googolplex Novice
28. maj 2003 - 16:12 #4
Jeg bruger den hos b-one, virker perfekt. Her er et par andre funktioner jeg bruger (fra webcafe) sammen med:

/* Funktion der klarer sql-forespørgelser der modtager data */


function sql_spoerg_og_faa_svar($query) {

    $resultat = mysql_query($query);

    if (!$resultat) {
        udskriv_fejl("Kunne ikke udføre: <b>$query</b>");
    }

    while ($raekke = mysql_fetch_array($resultat)) {
        $resultat_array[] = $raekke;
    }
   
    return $resultat_array;
}


/* Funktion der klarer sql-forespørgelser der IKKE modtager data */


function sql_spoerg($query) {
   
    $resultat = mysql_query($query);

    if (!$resultat) {
        udskriv_fejl("Kunne ikke udføre: <b>$query</b>");
    }
}


/* Funktion der lukker forbindelsen til databasen */


function luk_forbindelse() {
   
    if (!mysql_close()) {
        udskriv_fejl("Kunne ikke lukke forbindelsen til MySQL");
    }
}


/* Funktion der udskriver fejl */


function udskriv_fejl($fejl) {

    echo "<p>$fejl</p>";

    if ($mysql_fejl = mysql_error()) {
        echo "<p>Fejlen er: <b>$mysql_fejl</b></p>";
    }

    exit;
}
Avatar billede radiohead Nybegynder
28. maj 2003 - 16:28 #5
hmmm... Jamen i hvilken fil skal der ændres? :)

Sorry, men jeg har som sagt ingen viden omkring PHP og database.
Avatar billede googolplex Novice
28. maj 2003 - 16:35 #6
Du lægger bare følgende i en fil for sig (funktioner.php):

<?php


/* Funktion der åbner en forbindelse til en specifik database */


function aabn_forbindelse() {
   
    $server = "localhost";
    $bruger = "";
    $kodeord = "";
    $database = "";

    if (!mysql_connect("$server", "$bruger", "$kodeord")) {
        udskriv_fejl("Kunne ikke oprette en forbindelse til MySQL");
    }
   
    if (!mysql_select_db("$database")) {
        udskriv_fejl("Kunne ikke vælge databasen: $database");
    }
}


/* Funktion der klarer sql-forespørgelser der modtager data */


function sql_spoerg_og_faa_svar($query) {

    $resultat = mysql_query($query);

    if (!$resultat) {
        udskriv_fejl("Kunne ikke udføre: <b>$query</b>");
    }

    while ($raekke = mysql_fetch_array($resultat)) {
        $resultat_array[] = $raekke;
    }
   
    return $resultat_array;
}


/* Funktion der klarer sql-forespørgelser der IKKE modtager data */


function sql_spoerg($query) {
   
    $resultat = mysql_query($query);

    if (!$resultat) {
        udskriv_fejl("Kunne ikke udføre: <b>$query</b>");
    }
}


/* Funktion der lukker forbindelsen til databasen */


function luk_forbindelse() {
   
    if (!mysql_close()) {
        udskriv_fejl("Kunne ikke lukke forbindelsen til MySQL");
    }
}


/* Funktion der udskriver fejl */


function udskriv_fejl($fejl) {

    echo "<p>$fejl</p>";

    if ($mysql_fejl = mysql_error()) {
        echo "<p>Fejlen er: <b>$mysql_fejl</b></p>";
    }

    exit;
}


?>

Derefter skriver du følgende på alle dine php-sider hvor du vil bruge funktioerne:

<?php

require($_SERVER["DOCUMENT_ROOT"] . "/funktioner.php");

?>

Herefter kan du skrive følgende hver gang du skal have adgang til din database:

<?php

aabn_forbindelse();

$sql-sætning = "SKRIV DIN SQL-SÆTNING HER.";

function sql_spoerg_og_faa_svar($sql);

ELLER (alt efter om sql-sætning skal hive data ud eller indsætte data).

function sql_spoerg($sql);

luk_forbindelse();

?>

Totalt nemt at bruge :)
Avatar billede ztyxx Nybegynder
28. maj 2003 - 16:38 #7
kiggede lidt på b-one´s support, og fandt dette

Hvilken data skal der bruges for at skabe forbindelse til databasen?   
 
For at skabe forbindelse til databasen skal der bruges oplysninger om host, database brugernavn og password. Samtlige oplysninger findes i kodebrevet. 

så det er de oplysninger du skal sætte ind i de scripts der er lagt her
Avatar billede radiohead Nybegynder
28. maj 2003 - 16:40 #8
Det er også nemt at flyve en f16, hvis man ved hvordan. :)

Jeg kigger lige på det. Accepterer lidt senere

På forhånd tak
Avatar billede ztyxx Nybegynder
28. maj 2003 - 16:42 #9
hehe, heldigvis er der flere piloter på denne F-16, så der er altid mindst et par stykker til at flyve ;-)
Avatar billede googolplex Novice
28. maj 2003 - 16:42 #10
$sql-sætning = "SKRIV DIN SQL-SÆTNING HER.";

Skulle selvfølgelig have været:

$sql = "SKRIV DIN SQL-SÆTNING HER.";
Avatar billede googolplex Novice
28. maj 2003 - 16:44 #11
Vi må da håbe den F16 holder sig i luften :P
Avatar billede radiohead Nybegynder
29. maj 2003 - 11:09 #12
I det jeg har downloadet følger der også en functions.php med. Kan jeg ikke bare bruge den?

<?
function GetNextEvent() {
    require("vars.php");
    $link = mysql_connect($dbhost, $dbuser, $dbpass);
    mysql_select_db($mysqldb, $link);
    $result = mysql_query("SELECT * FROM $matchtable WHERE status != 'played' ORDER BY date, time");
    $line = mysql_fetch_array($result, MYSQL_ASSOC);
    $next = $line['date'];

    $date = date("U", strtotime($next))-date("U");
    for ($d=0; $date>86400; $d++)
        $date -= 86400;
    for ($h=0; $date>3600; $h++)
        $date -= 3600;
    for ($m=0; $date>60; $m++)
        $date -= 60;
    if($d==0 && $h==0) {
        echo "Next event is <b>today</b>!";
    } else {
        echo "Next event in <b>$d days</b> and <b>$h hours</b>.\n";
    }
}

function securityCheck() {
    session_start();
    if(!session_is_registered("isadmin")) { Header("Location: index.php"."?error=3"); exit; }
}
?>

Også bagefter indsætte bruger, pass og den slags ting i de andre filer?`

Også lige endnu et dumt spørgsmål :) :
Kan sådan nogle filer ikke downloades fra internettet? Jeg mener, der er jo passwords og sådan i dem :)
Avatar billede googolplex Novice
29. maj 2003 - 11:13 #13
Hvis du bare skal have forbindelse, ville jeg bruge mine funktioner og så bare sætte brugernavcn, password osv ind i. De er omskrevet fra webcafe.dk og virker perfekt. Men du kan også bruge det andet.

Nej, selvfølgelig ikke :P PHP er jo serverside, så det ligger på serveren. Brugeren ser kun det serveren genererer, dvs. det du trækker af databasen og viser ham :)
Avatar billede ztyxx Nybegynder
29. maj 2003 - 11:15 #14
i den fil der hedder vars.php skal du indsætte dine oplysninger med brugernavn, server og password, så skulle det spille ;-)
Avatar billede radiohead Nybegynder
29. maj 2003 - 11:58 #15
ahh ok Googolplex.

ztyxx - Det gør det ikke :(

"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /customers/brothers1942.dk/brothers1942.dk/httpd.www/snask/publicmatches.php on line 30"
Avatar billede radiohead Nybegynder
29. maj 2003 - 12:03 #16
Hvad er phpMyAdmin?
Avatar billede ztyxx Nybegynder
29. maj 2003 - 12:57 #17
kan du ikke lige skrive den linie her der meldes fejl i, også gerne et par af linierne før og efter
Avatar billede ztyxx Nybegynder
29. maj 2003 - 12:59 #18
mon ikke du har angivet noget forkert i vars.php , det ser ikke ud som om at der er angive password, jeg har kigget på filen publicmatches.php, og det kan være fejlen, du har i hvert tilfælde ikke forbindelse til databasen
Avatar billede radiohead Nybegynder
29. maj 2003 - 14:33 #19
Ejjj... Tak for hjælpen! :)

I kunne da bare have sagt at jeg skulle lave nogle tables i databasen (eller noget i den stil) :)
Avatar billede ztyxx Nybegynder
29. maj 2003 - 19:05 #20
hehe, ja sådan er der så meget, takker for point :-)
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

IT-JOB

BEC Financial Technologies

Development Manager for Document Lifecycle

Jyske Bank

AI-udvikler

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger elementleder til Metode og Modning

Forsvarsministeriets Materiel- og Indkøbsstyrelse

DevOps Engineer (AI) til Forsvarets nye IT-platform