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
Annonceindlæg fra SoftwareOne
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 :-)
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');
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');
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. :-)
17. marts 2011 - 22:49
#5
Hvordan kan man tjekke om det virker? Altså med databasen jeg har i phpMyAdmin?
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.
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.
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?
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(); ?>
18. marts 2011 - 12:54
#10
Fantastisk. Du må lige lave et svar hvis du gerne vil have point :) Mange tak for hjælpen!
18. marts 2011 - 18:40
#11
svar
09. juni 2011 - 12:02
#12
Takker for point.
Computerworld tilbyder specialiserede kurser i database-management