Jeg har oprettet en MySQL database, og oprettet et php dokument der opretter forbindelse. Så har jeg lavet et andet php dokument, der gerne skulle kunne trække alt ud fra min MySQL database. Men det funger ikke helt. Mit php script ser således ud:
<?php include("database.php"); //inkludere filen der opretter forbindelse til min db $query = mysql_query("SELECT * FROM oplag"); $row = mysql_fetch_assoc($query);
Jeg har på fornemmelsen at det kan skyldes når jeg opretter forbindelse til min database. Mit "opkalds" dokument, ser således ud:
<?php mysql_connect("192.168.1.3", "dalum1g2", "dalumhtx") or die(mysql_error()); mysql_select_db("dalum1g2") or die(mysql_error()); ?>
Jeg er dog i tvivl om det der skal stå i mysql_select_db, er navnet på filen til min database, eller om det er det database navn, jeg har fået af min udbyder (Det jeg har skrevet)
Det ligner et lokalt kald (normalt skal du _aldrig_ skrive brugernavn/kode herinde!). Du skal skrive navnet på den database hvor tabellen oplag ligger.
Men hvilket du skal skrive kan du kun selv vide, men den fejl du får (Table 'dalum1g2.oplag' doesn't exist) betyder at 'oplag' ikke eksisterer på den database der er valgt. Så enten er databasen forkert, ellers hedder tabellen ikke oplag.
Men da dette kun er en forsjov/test server, gør det ikke noget (:
Men ja det går da fremad, jeg har nu lavet om til at dne skal connecte til "cddatabase", hvilket ser ud til at virke. Lige bortset fra denne meddelelse:
Access denied for user 'dalum1g2'@'192.168.1.2' to database 'cddatabase'
Hvilket jeg formoder, betyder at den ikke vil lukke mig ind? brugernavn, host og pass har jeg fået fra udbyders hjemmeside:
Dette er dine MySQL data:
Når du connecter til din MySQL database skal du bruge følgende data. Host: 192.168.1.3 database: dalum1g2 Brugernavn: dalum1g2 Password: dalumhtx
Kan ikke lige umiddelbart se hvad jeg kan have skrevet forkert?
Database = filen hvor alle dataene ligger i, f.eks. cddatabase.sql? Tabel = Tabel med rækker og kollonner (Hvis man ser den i acces), der ligger inde i database filen.
Passer ovenstående?
Min udbyder skriver at "Host" er 192.168.1.3, så jeg er rimelig sikker på at det passer.
Men for lige at ridse op.
På min server ligger der en fil, der hedder "cddatabase.sql". Inde i den fil står der bla. "Table structure for table 'oplag'" Hvilket jeg vil mene, betyder at tabellen hedder "oplag".
Database og tabel er som du skriver. Men databasen ligger ikke som en fil (cddatabase.sql).
Filen cddatabase.sql er en fil der korrekt indeholder SQL data. Men ikke i en form hvor du kan få adgang til dem vha. php. Du får en sådan fil hvis man f.eks. eksporterer sql data ud af en database, så kan man gemme dem i en sådan fil og så flytte det til en anden database. Eller gemme det som backup.
Der bruges i 99% af tilfældene phpmyadmin til at administrere sql databaser. Har din udbyder givet dit et link til en administration?
Nej, men det kan godt forklare dig :) Skulle være sikker på du havde et link.
1) Du logger ind i phpmyadmin 2) Klik eller vælg din database i venstre side (dalum1g2) 3) Du trykker på SQL øverst i højre vindue 4) Du vælger gennemse... og finder filen cddatabase.sql 5) Du trykker OK 6) Herefter skulle tabellen oplag nu ligger på din database (dalum1g2)
Det er lavet på hukommelse, så det kan være der er enkelte ting der ikke helt passer med den phpmyadmin version du har :)
Jeg kan godt komme ind under sql fanebladet. Men så kommer der bare et tomt tekstfelt. Har prøver bare at skrive cddatabase.sql, men så får jeg en fejl meddelelse:
"#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'cddatabase.sql' at line 1 "
Jeg tror ikke du er på den rigtige server i admin. Access denied for user 'dalum1g2'@'192.168.1.2' to database 'dalum1g2'
og du skrev tidligere din server hed: 192.168.1.3.
Men du kan godt prøve import, og se om den virker bedre.
Ellers skal du se have ændret den server du befinder dig på, det kan jeg dog ikke lige på stående fod hjælpe med. Det eneste jeg kan komme på jeg er stødt på tidligere er en dropdown menu, i højre side, lige når man logger ind i phpmyadmin (før du klikker på din database)
Det virker som om det er et problem med din bruger eller den phpmyadmin du bruger. Du skal nok prøve at sende en mail din udbyderen med hvad du prøver at gøre (indsætte data i sql i phpmyadmin) og så den fejl du får. Så kan de nok hjælpe dig videre.
$connection = mysql_connect("$dbhost","$dbuser","$dbpass") or die ("Couldn't connect to server."); $db = mysql_select_db("$dbname", $connection) or die("Couldn't select database.");
Så skriver du dem ikke forkert ind igen.. Håber det hjalp. Jeg er lidt i tvivl og du får lavet de table's der ligger i din 'cddatabase.sql' fil. Når du logger ind i phpmyadmin så står der dit database navn over til højre.."dalum1g2" står der så nogle tables under der..oplag m.m ellers så ligger problemet i at du ikke har nogle tables at extracte noget fra. men jeg tror nu dit problem blivee løst ved at ændre dit opkalds script..
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.