aus tabelle=>feld

nox

Erfahrenes Mitglied
hy @all

kleine frage
wie liefert mir die db alle felder einer tabelle aus?!?
habe auf php.net nix gefunden(bin ich blind?)

help me :)

GREEZ

N
O
X
 
PHP:
$link = mysql_connect('localhost', "mysql_user", "mysql_password");
mysql_select_db($dbname, $link)
    or die("Kann die Datenbank $dbname nicht auswählen");
$res = mysql_query("select * from users", $link);

echo mysql_field_name($res, 0) . "\n";
echo mysql_field_name($res, 2);
leider geht das nicht, daa mann vorher wissen muss wiefiele felder es in einer tabelle gibt!

die anzahl felder ist mir nicht bekannt!

zu der funktion meines scripts
=> ich möchte so eine art backup machen von einer ganzen db!
die backup datei kann dan bei bedarf upgeloadet werden und alle daten sind wieder da wo sie sein sollen ;)
 
hmmm, hab ich mir nie gedanken zu gemacht, versuch doch mal:
Code:
$sql = mysql_query("select * from user");
while ($row = mysql_fetch_array($sql)) {
    print count($row);
}

da mysql_fetch_array() ja einen assoziativen array zurückgibt, sollte das wohl möglich sein, habs aber ned getestet ^^
 
ein komplettes backup geht auch einfacher ;)
PHP:
<?php
system("/usr/bin/mysqldump -uUSERNAME -pPASSWORT -h dein.datenbankserver.de DATENBANKNAME > /SPEICHERPFAD/DES/BACKUPS/DUMP.sql", $fp);
if ($fp==0)
   echo "Daten exportiert";
else
   echo "Es ist ein Fehler aufgetreten";
?>
das dingen dump'ed dir eine komplette datenbank. mit create tables inserts u.s.w. und zum importieren

importieren dann so:
PHP:
<?php
system("/usr/bin/mysql -uUSERNAME -pPASSWORT -h dein.datenbankserver.de DATENBANKNAME < /SPEICHERPFAD/DES/BACKUPS/DUMP.sql", $fp); 
if ($fp==0)
   echo "Daten importiert";
else
   echo "Es ist ein Fehler aufgetreten";
?>
wobei /usr/bin/mysqldump (der pfad zu mysql bzw. den tools) natuerlich von system zu system variieren kann. zur not kurz provider fragen.
 
hmmm :rolleyes:
PHP:
system("/usr/bin/mysqldump -uUSERNAME -pPASSWORT -h dein.datenbankserver.de DATENBANKNAME > /SPEICHERPFAD/DES/BACKUPS/DUMP.sql", $fp);
was bedeutet \$fp?

die db ist auf dem gleichen server wie die HP
d.h. ich logg mich immer mit localhost ein!
 
hmm

finde den pfad nicht zu mysqldump
habe schon die ganzen ordner aufm server durchgeschaut :(
kann sein dass dieser total anders heist?

oder in einem anderen pfad??
 
zudem kommt noch dazu, dass ich in dem pfad /usr/bin/ die rechte L777 hab?!?!

hab keine ahnung was es bedeutet aber ich hab auf jedenfall keinen zutritt in diese ordner :eek:
 
das verzeichnis könnte ein andres sein :-)

wenn du dich im system einloggen kannst kannst du das verzeichnis finden mit:
find / -name mysqldump

oder es ist nicht installiert :-)

dann gibt es die möglichkeit mit

select * from tabellename to outfile "tabelle_backup"

sichert die tabelle als textfile


ps
die anzahl der datenbankzeilen bekommst du mit

$zeilen = myql_num_rows($erg);
 
Zurück