ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
3993
3993
EMPFEHLEN
-
hi
folgendes problem:
ich habe da ein script (selber geschrieben) das den ordner modules auslesen soll und alle ordner die nicht in der DB stehen ein gefügt werden. nur irgendwie macht er das nicht er schreibt keine fehlermeldung aber er addet auch nicht die ordner rein.
modules/fotos
modules/dvd
in der db steht nur foto
das script
PHP-Code:mysql_connect ($DatabaseHost, $DatabaseUser, $DatabasePassword) or die ("Keine Verbindung zum Server");
mysql_select_db ($Database) or die ("Keine Verbindung zur Datenbank");
$ergebnis = mysql_query ("SELECT * FROM navigation") or die ("Tabelle nicht gefunden");
if ($handle = opendir('modules')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && $file != "index.html") {
while ($zeile = mysql_fetch_array($ergebnis)) {
if($file!=$zeile["ordnername"]){
mysql_query("INSERT INTO navigation VALUES('','$file','','0','all')") or die(mysql_error());
}
}
}
}
closedir($handle);
}
mysql_close ();
-
Hallo,
kann es sein, dass die erste Spalte deiner Tabelle auf auto_increment gesetzt ist?
Wenn ja dann muss du das nicht extra angeben also könnte dein Script so aussehen:
PHP-Code:mysql_connect ($DatabaseHost, $DatabaseUser, $DatabasePassword) or die ("Keine Verbindung zum Server");
mysql_select_db ($Database) or die ("Keine Verbindung zur Datenbank");
$ergebnis = mysql_query ("SELECT * FROM navigation") or die ("Tabelle nicht gefunden");
if ($handle = opendir('modules')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && $file != "index.html") {
while ($zeile = mysql_fetch_array($ergebnis)) {
if($file!=$zeile["ordnername"]){
mysql_query("INSERT INTO navigation VALUES('$file','','0','all')") or die(mysql_error());
}
}
}
}
closedir($handle);
}
mysql_close ();
Wie man Fragen richtig stellt
Wichtig: Bitte markiert eure beantworteten Fragen als "erledigt" (links unten auf "Erledigt" klicken).
__________________
.:Mitglied #26 des 1. offiziellen Sven Uwe Fan-Clubs:.
-
Probier mal Folgendes:
Übrigens möchte ich dir noch die INSERT INTO-Anweisung mit SET-Klausel nahelegen, da bei dieser Anweisung die Angabe nur einzelner Spaltenwerte möglich ist.PHP-Code:<?php
mysql_connect($DatabaseHost, $DatabaseUser, $DatabasePassword)
or die('Verbindung mit Datenbankserver schlug fehl!');
mysql_select_db($Database)
or die('Auswahl der Datenbank schlug fehl!');
// Sammeln der Datensätze
$records = array();
$query = '
SELECT
`ordnername`
FROM
`navigation`
';
$result = mysql_query($query)
or die('Datenbankabfrage schlug fehl!');
while( $records[] = mysql_result($result, 0) ) {
continue;
}
// Sammeln der Dateien
$files = array();
if( $handle = opendir('modules') ) {
while( false !== ($file = readdir($handle)) ) {
if( $file == '.' || $file == '..' || $file == 'index.html' ) {
continue;
}
$files[] = $file;
}
closedir($handle);
}
// Ausgleich der Differenz beider Mengen
$diff = array_diff($records, $files);
foreach( $diff as $file ) {
$query = '
INSERT INTO
`navigation`
VALUES(
NULL,
"'.mysql_real_escape_string($file).'",
"",
0,
"all"
)
';
mysql_query($query)
or die(mysql_error());
}
mysql_close();
?>Markus Wulftange
-
bringt mir den fehler:
Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in /srv/www/httpd/phost/d/com/pytalhost/dvddb/web/mainfile.php on line 45
das wäre die zeile:
"'.mysql_real_escape_string($file).'",
-
Mein Fehler. Ändere mal Folgendes:
Meinen vorherigen Beitrag habe ich entsprechend korrigiert.PHP-Code:while( $records[] = mysql_result($result, 0) ) {
continue;
}
Markus Wulftange
-
das habe ich gemacht dann kommt:
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 71 bytes) in /srv/www/httpd/phost/d/com/pytalhost/dvddb/web/mainfile.php on line 21
das ganze schaut jetzt so aus
PHP-Code:mysql_connect($DatabaseHost, $DatabaseUser, $DatabasePassword)
or die('Verbindung mit Datenbankserver schlug fehl!');
mysql_select_db($Database)
or die('Auswahl der Datenbank schlug fehl!');
// Sammeln der Datensätze
$records = array();
$query = '
SELECT
`ordnername`
FROM
`navigation`
';
$result = mysql_query($query)
or die('Datenbankabfrage schlug fehl!');
while( $records[] = mysql_result($result, 0) ) {
continue;
}
// Sammeln der Dateien
$files = array();
if( $handle = opendir('modules') ) {
while( false !== ($file = readdir($handle)) ) {
if( $file == '.' || $file == '..' || $file == 'index.html' ) {
continue;
}
$files[] = $file;
}
closedir($handle);
}
-
14.04.06 19:44 #7
Hallo!
Der Dir zugewiesene Arbeitsspeicher langt nicht aus.
phpinfo() müsste Dir unter memory_limit 16M anzeigen.
Dein Script benötigt aber mehr wie 16M.
Wenn Du also kein Zugriff auf die php.ini hast, wirst Du wohl wahrscheinlich die Verzeichnisinhalte aufteilen müssen.
Aber vieleicht fällt Gumbo da ja noch ein Trick ein.
Gruss Dr DauSchri-Schra-Schrödi *g*
mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
Dinge, die mit Tabellen besser klappen als mit CSS
Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
Meine Links zum Thema Linux (Last update: 29.10.2011)
Kein Busen ist so flach wie das Niveau dieser Party!
----
Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
----
Ich habe 3 Kinder und kein Geld!
Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)
-
Ich glaube kaum, dass die Indexierung eines Verzeichnisses so viele Ressourcen schluckt. Und auch der Rest wird sicherlich nicht so viel benötigen. Ist das denn das Einzige, was das Skript macht?
Markus Wulftange
-
nein das is nur das script da wird nur die config.php includet mehr nicht
Ähnliche Themen
-
Byte Array in MySQL Datenbank schreiben/auslesen
Von hebel2 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 5Letzter Beitrag: 28.09.10, 15:49 -
Verzeichnis auslesen und Daten in Datei schreiben
Von Kebb im Forum C/C++Antworten: 0Letzter Beitrag: 06.08.06, 05:22 -
blob in Datenbank schreiben bzw. auslesen
Von psykochris im Forum JavaAntworten: 1Letzter Beitrag: 20.06.06, 08:53 -
MAC Adresse auslesen und in Datenbank schreiben
Von AndyStyleZ im Forum PHPAntworten: 3Letzter Beitrag: 06.12.05, 20:54 -
IMG files in Datenbank Schreiben und Auslesen
Von liquidbeats im Forum PHPAntworten: 6Letzter Beitrag: 25.05.04, 23:37





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren