hilfdirselbst.ch
Facebook Twitter gamper-media
Pozor  M 
Beiträge: 892
13. Apr 2003, 00:23
Beitrag #1 von 4
Bewertung:
(673 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

MySQL (tabellen)


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)???



Top
 
X
Miro Dietiker
Beiträge: 699
13. Apr 2003, 09:09
Beitrag #2 von 4
Beitrag ID: #31714
Bewertung:
(673 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

MySQL (tabellen)


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] Top
 
Pozor  M 
Beiträge: 892
13. Apr 2003, 09:51
Beitrag #3 von 4
Beitrag ID: #31716
Bewertung:
(673 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

MySQL (tabellen)


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] Top
 
Miro Dietiker
Beiträge: 699
13. Apr 2003, 20:38
Beitrag #4 von 4
Beitrag ID: #31752
Bewertung:
(673 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

MySQL (tabellen)


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] Top
 
X