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
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
håber i forstår hvad jeg mener. Jeg har lidt svært ved at forklare, når jeg intet ved om det
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 ?>
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"); } }
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; }
hmmm... Jamen i hvilken fil skal der ændres? :) Sorry, men jeg har som sagt ingen viden omkring PHP og database.
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 :)
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
Det er også nemt at flyve en f16, hvis man ved hvordan. :) Jeg kigger lige på det. Accepterer lidt senere På forhånd tak
hehe, heldigvis er der flere piloter på denne F-16, så der er altid mindst et par stykker til at flyve ;-)
$sql-sætning = "SKRIV DIN SQL-SÆTNING HER."; Skulle selvfølgelig have været: $sql = "SKRIV DIN SQL-SÆTNING HER.";
Vi må da håbe den F16 holder sig i luften :P
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 :)
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 :)
i den fil der hedder vars.php skal du indsætte dine oplysninger med brugernavn, server og password, så skulle det spille ;-)
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"
kan du ikke lige skrive den linie her der meldes fejl i, også gerne et par af linierne før og efter
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
Ejjj... Tak for hjælpen! :) I kunne da bare have sagt at jeg skulle lave nogle tables i databasen (eller noget i den stil) :)
hehe, ja sådan er der så meget, takker for point :-)
Vi tilbyder markedets bedste kurser inden for webudvikling