Columns zurückgeben
Sahra
- datenbank
Hallo,
wie schreibe ich eine Funktion in PHP
function columnnames($database,$table){
.
.
.
return $columnnames;
}
die mir die Namen als Array zurückgibt. Gibt es da schon was im db.php Pear Package? Das läuft schon bei uns. Danke.
Cucu
Sahra
Mahlzeit Sahra,
wie schreibe ich eine Funktion in PHP
[...]
die mir die Namen als Array zurückgibt.
Das wird vermutlich ganz darauf ankommen, welches DBMS Du verwendest.
MfG,
EKKi
Hallo,
also ich nutze hier ne mySQL Datenbank. Was ist DBMS? Ist das denn so ungewöhnlich? Kann mySQL nicht einfach sein infomation schema ausgeben?
Cucu
Sahra
...hat sich erledigt
SHOW COLUMNS FROM table
...doch noch nicht so ganz...
function dbgetcolumns($database,$table,$debug=0){
$db = DB::connect(getDSN($database));
$db->setFetchMode(DB_FETCHMODE_ASSOC);
$sql = "SHOW COLUMNS FROM `".$table."`";
$return = $db->query($sql);
print\_r($return);
if(1==$debug){
error\_log("Datenbank: ".$database."|Table: ".$table."|SQL: ".$sql."|");
}
}
Haut mir ein riesen Array mit so [1451] => -3 Einträgen raus...weiß jemand was das ist?
und nochmal ich
function dbgetcolumns($database,$table,$debug=0){
$db = DB::connect(getDSN($database));
$db->setFetchMode(DB_FETCHMODE_ASSOC);
$sql = "SHOW COLUMNS FROM `".$table."`";
$return = & $db->getAll($sql);
print\_r($return);
if(1==$debug){
error\_log("Datenbank: ".$database."|Table: ".$table."|SQL: ".$sql."|");
}
}
so gehts...
Hello,
function dbgetcolumns($database,$table,$debug=0){
$db = DB::connect(getDSN($database));
$db->setFetchMode(DB_FETCHMODE_ASSOC);$sql = "SHOW COLUMNS FROM
".$table."
";
$return = & $db->getAll($sql);print_r($return);
if(1==$debug){
error_log("Datenbank: ".$database."|Table: ".$table."|SQL: ".$sql."|");
}
}so gehts...
Ich kenne deine Datenbankklasse nicht, aber ist es klug, die Verbindung zur Datenbenk erst innerhalb der Funktion aufzubauen? Sollte die Funktion nicht besser einen Ressource-Link zur Datenbank übergeben bekommen? Du wirst im Script doch bestimmt noch öfter einen Zugriff auf die Datenbank vornehmen, oder?
Außerdem könntest Du die Abfrage auch mit den mysqli_*-Funktionen von PHP machen und dann auch das Information_Schema abfragen.
http://de3.php.net/manual/en/book.mysqli.php
SELECT
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
table_name = 'tabellenname'
AND
table_schema = 'db_name';
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Mahlzeit Sahra,
also ich nutze hier ne mySQL Datenbank.
Aha.
Was ist DBMS? Ist das denn so ungewöhnlich?
Das weiß die allwissende Müllhalde ...
Kann mySQL nicht einfach sein infomation schema ausgeben?
Sicher kann es das - nur kann Dir keiner diesen Tipp geben, wenn Du nicht preisgibst, welches DBMS Du benutzt (übrigens wirst Du bei der Auswahl von "DATENBANK" als Themenbereich auch darauf hingewiesen, dass es sinnvoll und hilfreich ist, das verwendete Datenbanksystem samt Version anzugeben!) :-) ... die unterschiedlichen Systeme haben nämlich teilweise ganz unterschiedliche Methoden, wie man sich die gewünschten Informationen ausgeben lassen kann.
MfG,
EKKi