Avatar billede Vivivroue Nybegynder
16. marts 2011 - 15:38 Der er 11 kommentarer og
1 løsning

Forbindelse til database

Hej.

Jeg har oprettet en database i phpMyadmin (localhost).

Jeg har lavet en forbindelse(ekstern side) der ser således ud:

<?php
DEFINE('DB_USER', 'root');
DEFINE('DB_PASSWORD', '97535424');
DEFINE('DB_HOST', 'localhost');
DEFINE('DB_NAME', 'relationreferences');
// mysql connection
$dbc =  @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
OR die('No connection to MySQL: '. mysqli_connect_error());
?>

Jeg er blevet bedt om at lave et script i starten af min index-side, som tester om siden virker (require the file to test if it works)

Derefter skal jeg lave et script i bunden af siden, som lukker MySQL forbindelsen.

Jeg er helt blank. Hvor skal jeg starte? Hvad menes der med denne opgave?


Jeg håber I vil hjælpe.

VH

Vivi
Avatar billede phillips Nybegynder
16. marts 2011 - 15:47 #1
Mon ikke der menes, at ovenstående script fx placeres i en fil, der hedder "mysql.php".

I "index.php" har du så:

<?php
require('mysql.php'); // Hvilket indlæser mysql.php
mysql_close($dbc);
?>

Hvis der ikke kommer nogle fejl, så virker det vel :-)
Avatar billede DePlex Nybegynder
16. marts 2011 - 15:48 #2
altså hvis du bare skal have siden vist hvis der er forbindelse til db kan du bare smide det ind i config.php og så skrive require('config.php');
Avatar billede jakobdo Ekspert
16. marts 2011 - 16:55 #3
og brug hellere require_once(), så er du ikke på du kun forbinder EN gang.

Ligeledes, bør du rette denne linje:

$dbc =  @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
OR die('No connection to MySQL: '. mysqli_connect_error());

Hvis din kode ikke kan forbinde til mysql, så smider du en masse brugbar info til en evt. hacker.
Erstat evt. med:

$dbc =  @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
OR die('EN PÆN FEJL SIDE!!! Uden en masse info. Evt.: Fejl, kontakt Webmaster@side.dk');
Avatar billede Vivivroue Nybegynder
17. marts 2011 - 22:49 #4
Tak for Jeres svar.

Det skal siges at jeg er på absolut begynderstadie, så der er ikke alt jeg helt forstår.

Jeg har lavet et dokument der hedder "mysql_connect.inc.php"

På forsiden indsætter jeg så

<?php
require_once('mysql_connect.inc.php');
?>

Skal den bare placeres helt i toppen?


Jabob: Det er en studieopgave, så der er endnu ikke taget hensyn til hackere m.m. :-)
Avatar billede Vivivroue Nybegynder
17. marts 2011 - 22:49 #5
Hvordan kan man tjekke om det virker? Altså med databasen jeg har i phpMyAdmin?
Avatar billede jakobdo Ekspert
17. marts 2011 - 23:02 #6
Du skal placere koden:
<?php
require_once('mysql_connect.inc.php');
?>
i toppen af dine php-filer.

Hvad har du i din mysql_connect.inc.php fil?
Husk evt. at fjern brugernavn, kodeord etc, hvis du smider koden herind.
Avatar billede Vivivroue Nybegynder
18. marts 2011 - 10:09 #7
Ja okay, det har jeg gjort.

Min mysql_connect.inc.php ser således ud:


<?php
DEFINE('DB_USER', 'root');
DEFINE('DB_PASSWORD', 'HEMMELIG');
DEFINE('DB_HOST', 'localhost');
DEFINE('DB_NAME', 'relationreferences');
// mysql connection
$dbc =  @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
OR die('No connection to MySQL: '. mysqli_connect_error());
?>


Jeg bliver også bedt om at lave en "fejl" for at se om MySQL forbindelses melder fejl. Hvordan ser man det? Min opgave er virkelig dårlig formuleret.
Avatar billede Vivivroue Nybegynder
18. marts 2011 - 10:17 #8
Sidste kommentar behøver jeg ikke besvaret.

Men hvordan er det så lige jeg laver det script der skal ligge i bunden og lukke min connection?
Avatar billede jakobdo Ekspert
18. marts 2011 - 10:53 #9
Du kunne omskrive din kode lidt, og bruge denne model:

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* close connection */
$mysqli->close();
?>
Avatar billede Vivivroue Nybegynder
18. marts 2011 - 12:54 #10
Fantastisk. Du må lige lave et svar hvis du gerne vil have point :)

Mange tak for hjælpen!
Avatar billede jakobdo Ekspert
18. marts 2011 - 18:40 #11
svar
Avatar billede jakobdo Ekspert
09. juni 2011 - 12:02 #12
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
Computerworld tilbyder specialiserede kurser i database-management

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