SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 04.08.2003, 12:45:31
Gweilo Gweilo ist offline
Member
 
Registriert seit: Oct 2002
Ort: ch
Beiträge: 822
'KEY' auslesen

Ich habe ein Backupprogramm für MySQL datenbanken vom Internet heruntergeladen, nur funktionniert das ganze nicht wie es soll, und ich habe keine ahnung weshalb nicht!

// Struktur der Tabelle einlesen

$def = "";
$def .= "DROP TABLE IF EXISTS $tabelle; n";
$def .= "CREATE TABLE $tabelle (n";
$result3 = mysql_db_query($database, "SHOW FIELDS FROM $tabelle",$conn_id);
while($row = mysql_fetch_array($result3)) {
$def .= " $row[Field] $row[Type]";
if ($row["Default"] != "") $def .= " DEFAULT '$row[Default]'";
if ($row["Null"] != "YES") $def .= " NOT NULL";
if ($row[Extra] != "") $def .= " $row[Extra]";
$def .= ",n";
}
$def = ereg_replace(",n$","", $def);
$result3 = mysql_db_query($database, "SHOW KEYS FROM $tabelle",$conn_id);
while($row = mysql_fetch_array($result3)) {
$kname=$row[Key_name];
if(($kname != "PRIMARY") && ($row[Non_unique] == 0)) $kname="UNIQUE|$kname";
if(!isset($index[$kname])) $index[$kname] = array();
$index[$kname][] = $row[Column_name];
}
while(list($xy, $columns) = @each($index)) {
$def .= ",n";
if($xy == "PRIMARY") $def .= " PRIMARY KEY (" . implode($columns, ", ") . ")";
else if (substr($xy,0,6) == "UNIQUE") $def .= " UNIQUE ".substr($xy,7)." (" . implode($columns, ", ") . ")";
else $def .= " KEY $xy (" . implode($columns, ", ") . ")";
}

$def .= "n); n";

// Ende Struktur Modul

Das Problem ist, dass "KEY id (id)" nur beim ersten durchlauf (-> erste tabelle) aufgeführt wird (letzte while schleife wird nur ein mal ausgeführt), später nicht mehr. So Sieht das dann aus:
Code:
DROP TABLE IF EXISTS anwendungen; 
CREATE TABLE anwendungen (
    id int(11) NOT NULL auto_increment,
    titel varchar(80) NOT NULL,
    text text NOT NULL,
    punkte text NOT NULL,
    sort double DEFAULT '0' NOT NULL,
   KEY id (id)
); 
DROP TABLE IF EXISTS backup; 
CREATE TABLE backup (
    id int(11) NOT NULL auto_increment,
    file varchar(100) NOT NULL,
    time varchar(20) NOT NULL
);
Habe mal die wichtigen teile fett markiert.

Geändert von Gweilo (04.08.2003 um 12:47:53 Uhr)
Mit Zitat antworten
  #2  
Alt 05.08.2003, 11:14:23
Gweilo Gweilo ist offline
Member
 
Registriert seit: Oct 2002
Ort: ch
Beiträge: 822
hier ist noch der komplette code. Vielleicht findet jemand damit den fehler:

http://3d-community.com/cavitec/dump.phps

Geändert von Gweilo (05.08.2003 um 11:17:01 Uhr)
Mit Zitat antworten
  #3  
Alt 05.08.2003, 11:51:39
Ben20
Guest
 
Beiträge: n/a
Ich hab mir das Tool nicht angesehen, aber warum machst Du das Ganze nicht mit phpMyAdmin oder (wenn Du Shellzugriff hast) mit mysqldump?
Mit Zitat antworten
  #4  
Alt 05.08.2003, 12:11:31
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 56
Beiträge: 1.236
Hallo Gweilo,

das funktioniert, wenn's das System hergibt, auch prima...
http://www.selfphp.info/forum/showth...9754#post29754
Mit Zitat antworten
  #5  
Alt 05.08.2003, 13:51:13
Gweilo Gweilo ist offline
Member
 
Registriert seit: Oct 2002
Ort: ch
Beiträge: 822
phpmyadmin geht nicht, weil ich die backups automatisch erstellen lasse (1 mal am tag) und diese dann auch automatisch wieder einlesen können will.

Es funktionniert alles, bis auf diese "KEY id (id)" die ab der 2. tabelle fehlen.

ich glaube es läuft auf einem UNIX system, dann klappt das mit linux nicht mehr, oder geht dieser shell befehl auch unter UNIX?

Danke schon mal für die antworten...
Mit Zitat antworten
  #6  
Alt 05.08.2003, 14:01:49
Ben20
Guest
 
Beiträge: n/a
Der Shellbefehl klappt auf jeden Fall unter Unix/Linux/*ix - daher kenn ich das Teil sogar, weiß nicht ob es bei Windows auch geht.
Mit Zitat antworten
  #7  
Alt 05.08.2003, 15:19:23
Gweilo Gweilo ist offline
Member
 
Registriert seit: Oct 2002
Ort: ch
Beiträge: 822
woran das problem liegt weiss niemand?
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:00:38 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.


© 2001-2023 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt