Web-TorMedlem sedan nov. 200013 890 inlägg Har en sida som dumpar en MySQL-databas på en HTML-sida. Efter att jag skapat ett stort antal kolumner i databasen så får jag ett felmeddelande på sidan:
Database dbSaab
Warning: Supplied argument is not a valid MySQL result resource in C:\Inetpub\wwwroot\dump.php on line 25
Om jag sedan väntar ett par minuter och uppdaterar sidan så får jag inga felmeddelande.
Koden runt linje 25 är:
for ($i=0; $i < $num_tables; $i++) {
$arr_tablenames[$i] = mysql_tablename($tables, $i);
$arr_num_fields[$i] = mysql_num_fields(mysql_db_query($dbname, "select * from $arr_tablenames[$i]", $id_link));
}
Hur kommer det sig att felet försvinner efter ett tag?
/Tor
PS. Kollar jag på databasen via kommandoprompten så ser allt bra ut. DS.
------------------
TorWeb
-------------------
[Redigerat av Web-Tor den 10 nov 2000]
emissionMedlem sedan dec. 19996 721 inlägg Jag har ingen lösning på dittproblem, men jag undrar fortfarande varför du skapar en massa kolumner i databasen. Det verkar - och du får ursäkta ordvalet - verkligen tokigt.
mvh
Web-TorMedlem sedan nov. 200013 890 inlägg Vad är det för tokigt med att skapa kolumner i en databas? Det är ju så man får plats med informationen i den, eller?
I detta fall är det för att användaren, som representerar en viss avdelning, skall kunna rapportera procentsatser för ett antal veckor. Eftersom jag inte vet vilken avdelning personen jobbar på (och kolumnen måste ha det namnet) så kan jag inte skapa kolumnerna i förväg. Antalet veckor (och därmed antalet kolumner) bestäms också av användaren.
Klarnar det…? :l
/Tor
------------------
TorWeb
-------------------
emissionMedlem sedan dec. 19996 721 inlägg Självklart ska man skapa kolumner för att lagra data, men själva kolumnerna/tabellerna ska inte vara ett sätt att lagra och organisera data. Man ska inte generalisera, men tabeller ska egentligen bara skapas när man skapar själva databasen, inte som ett resultat av dynamisk programkörning. Man riskerar databasens säkerhet och prestanda genom att bolla med den dynamiskt, och det ger också en massa programmeringstekniskt strul i onödan.
Om du använder kolumnnamnet för att hålla reda vilken avdelning och vecka det är så kan du lika gärna ha dessa värden som kolumner i en tabell.
I stället för ...
SELECT blabla from USA2345 ......
så blir det
SELECT blabla from tabellen WHERE AVD='USA' AND THEWEEK=2345
Detta kommer att bli snabbare, det blir lättare att söka, mindre programmeringsproblem, lättare att göra summeringar etc.
mvh
[Redigerat av emission den 21 nov 2000]
Web-TorMedlem sedan nov. 200013 890 inlägg Ok. Jag förstår vad du menar. ;)
Nu bygger jag en förhållandevis liten applikation för ett intranät men jag skall definitivt ha dina åsikter i åtanke när jag ger mig på nästa projekt.
/Tor
------------------
TorWeb
-------------------