[GastForen Programmierung/Entwicklung PHP und MySQL MySQL (tabellen)

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

MySQL (tabellen)

Pozor
Beiträge gesamt: 892

13. Apr 2003, 00:23
Beitrag # 1 von 4
Bewertung:
(915 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo,

beim versuch eine tabelle auszulesen bekam ich mehrere fehlermeldungen.
$dbname = 'dbversuch';

$row wird ausgelesen (kann ohne probleme mit echo ausgegeben werden).

//bringt fehlermeldung
$fields = mysql_list_fields($dbname,$row, $link);

//sogehts
$fields = mysql_list_fields("dbversuch","tb_text", $link);

wie kann ich eine tabelle dynamisch auslesen wo liegt der fehler?
$row und $dbversuch sind doch strings (die funktion erwartet ja strings)???



X

MySQL (tabellen)

Miro Dietiker
Beiträge gesamt: 699

13. Apr 2003, 09:09
Beitrag # 2 von 4
Beitrag ID: #31714
Bewertung:
(915 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Pozor!

Da ist was grundlegendes falsch!
mysql_list_fields gibt die Liste aller Felder einer TABELLE aus!
Bezieht sich also weder auf ein result, noch auf eine Reihe.

Als zweiter Parameter (bei Dir $row) muss der Namen der Tabelle
kommen :)

GrEeZ: Miro Dietiker


als Antwort auf: [#31711]

MySQL (tabellen)

Pozor
Beiträge gesamt: 892

13. Apr 2003, 09:51
Beitrag # 3 von 4
Beitrag ID: #31716
Bewertung:
(915 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo,

hier mal ein ausschnitt aus meinem skript:

$result = mysql_list_tables($dbname);
echo "Ausgabe der Tabellen<br>";
if (!$result)
{
echo "DB Fehler, Tabellen können nicht angezeigt werden<br>";
exit;
}
while ($row = mysql_fetch_row($result))
{
echo "Tabelle: $row[0]<br>";

$fields = mysql_list_fields($dbname,$row[0], $link); //gehtned
//$fields = mysql_list_fields($dbname,$row, $link); //gehtned
//$fields = mysql_list_fields("dbversuch","tb_text", $link); //sogehts

echo "feld:$fields:<br>";
$columns = mysql_num_fields($fields);
echo "Column:$columns:<br>";

for ($i = 0; $i < $columns; $i++)
{
echo mysql_field_name($fields, $i) . "<br>";
}
//***************************************

}

gruss Pozor


als Antwort auf: [#31711]

MySQL (tabellen)

Miro Dietiker
Beiträge gesamt: 699

13. Apr 2003, 20:38
Beitrag # 4 von 4
Beitrag ID: #31752
Bewertung:
(915 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Re Pozor!

Ich dachte zunächst, du wolltest Resultatzeilen einer Select-
Anweisung abfragen...

Das Problem deines Codes liegt hier, dass der 3. Parameter
(nach PHP-Manual "resource link_identifier") in diesem Fall
nicht richtig definiert wurde! Arbeitet man mit nur einer Datenbank-
Verbindung kann man diesen problemlos weglassen.

Das Folgende Script läuft problemlos:
(PS: Link wird hier verwendet, ist in diesem Fall der resource-
identifier der aktuellen Verbindung ->mysql_connect)

<?PHP
$dbname = "hilfdirselbst";

$link = mysql_connect(AC_DB_HOST, AC_DB_USERNAME, AC_DB_PASSWORD);

$result = mysql_list_tables($dbname, $link);
echo "Ausgabe der Tabellen<br>";
if (!$result)
{
echo "DB Fehler, Tabellen können nicht angezeigt werden<br>";
exit;
}
while ($row = mysql_fetch_row($result))
{
echo "Tabelle: $row[0]<br>";
$fields = mysql_list_fields($dbname,$row[0], $link); //gehtned
echo "feld:$fields:<br>";
$columns = mysql_num_fields($fields);
echo "Column:$columns:<br>";

for ($i = 0; $i < $columns; $i++)
{
echo mysql_field_name($fields, $i) . "<br>";
}
}
?>

GrEeZ: Miro Dietiker


als Antwort auf: [#31711]
X