Memory Probleme!

der insert klappt auf jedenfall auch mit nur einfachen ' '.

Bedeutet nix anderes wie das die Variabl ein String ist.

also daran kann es nicht liegen. oder zumindestens glaube ich es nicht da ich immer so strings einlesen oder so verarbeite. also ich tippe auf eine andere ursache.


$test = 'test';
$test .= ' ein test'; // verkettung hängt hinter die var noch was dran.

echo "$test"; = test ein test. also der .= ist eine verkettung.
 
Zuletzt bearbeitet:
der insert klappt auf jedenfall auch mit nur einfachen ' '.

Bedeutet nix anderes wie das die Variabl ein String ist.

also daran kann es nicht liegen. oder zumindestens glaube ich es nicht da ich immer so strings einlesen oder so verarbeite. also ich tippe auf eine andere ursache.

und der . bzw '', $i0001_mid, ohne strings ... danach strings.. , ich würde als script auch nicht mehr wissen wo ich bin.. ;)

mfg Spikaner
 
also ich habe nun mal den Insert so geschrieben wie du vorgeschlagen hast.

aber wie ich mir schon gedacht habe lag es daran leider nicht.

Fatal error: Allowed memory size of 115343360 bytes exhausted (tried to allocate 122290 bytes) in C:\Testumgebung\xampp\htdocs\sav06\funktionen\php\i0001.php on line 18

Quelltext
require ("./funktionen/php/k0005.php");
$i0001_ftext = str_replace( "'", "´", "$i0001_ftext" );
$i0001_modul = str_replace( "'", "´", "$i0001_modul" ); // abruchstelle
$i0001_sql = "INSERT INTO tbl_fehler VALUES('".$i0001_mid."','".$i0001_userid."', NOW(),'".$i0001_modul."', '".$i0001_ftext."',)";
// $i0001_sql = "Insert into tbl_fehler values('', $i0001_mid, '$i0001_userid', NOW(), '$i0001_modul', '$i0001_ftext')";
mysql_query($i0001_sql);
$i0001_rc = mysql_errno() ;
 
Wobei mich dann auch interresieren würde was an dieser Schreibweise falsch ist? da ich diese immer so verwende. nicht nur in diesem Projekt.

meine Schreibweise:
$i0001_sql = "Insert into tbl_fehler values('', $i0001_mid, '$i0001_userid', NOW(), '$i0001_modul', '$i0001_ftext')";

vorgeschlagene bessere Schreibweise
$i0001_sql = "INSERT INTO tbl_fehler VALUES('".$i0001_mid."','".$i0001_userid."', NOW(),'".$i0001_modul."', '".$i0001_ftext."',)";

wo liegt genau der unterschied ? und warum ?
 
Die Schreibweise kann man verwenden, aber sie sorgt nicht gerade für Übersichtlichkeit.

Woher kommen denn die Daten? Aus Textdateien?
Um wieviel Text handelt es sich?
 
Ausserdem meinte er damit das Du die Variablen einmal in hochkommas geschrieben hast und einmal nicht:

PHP:
$i0001_sql = "Insert into tbl_fehler values('', $i0001_mid, '$i0001_userid', NOW(), '$i0001_modul', '$i0001_ftext')";

$i0001_mid ist zb. ohne hochkomma
$i0001_userid ist zb. in hochkommas

Values welche ausserhalb deklariert wurden, also keine MYSQL-Funktionen, müssen in Hochkommas gesetzt werden.
 
Es werden zur bereistellung der Daten einige Tabellen gelesen. Die Daten sind eigentlich mehr so kleinere Daten Mitarbeiter / Schadennummer usw... also keine großen Texte oder so. Gelesen wird von einer mysql DB.

die Version in der alles Funtz und sauber ohne fehler funktioniert ist
PHP Version 5.1.2
mysql 5.0.20a
Apache Version Apache/2.2.0 (Unix) PHP/5.1.2

meine neue Testumgebung für diese anwendung
mysql Client API version 5.1.30
PHP Version 5.2.8
Apache Version Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8

habe ich eine chance an eine xampp version zu bekommen in der php 5.1.2 läuft.

vielleicht gab es einfach zu viele änderungen ? und da ich langsam am verzeifeln bin frage ich nun in richtung andere möglichkeiten.
 
Zuletzt bearbeitet:
PHP:
	$i0001_ftext = addslashes($i0001_ftext);
	$i0001_modul = addslashes($i0001_modul);
	$i0001_sql = "INSERT INTO tbl_fehler VALUES ('', '$i0001_mid', '$i0001_userid', NOW(), '$i0001_modul', '$i0001_ftext')";
	mysql_query($i0001_sql); // Hier die Abruchstelle zeile 21
	$i0001_rc = mysql_errno() ;

Ansonsten.. was hast du in den Variablen $i0001_modul und $f0024_text2?
 
Hi Freunde, leider haben mich bis jetzt die Tipps nicht weiter gebracht.
Also versuche ich noch mal alles zusammen zu fassen.

Ich habe hier eine Verwaltungsdatenbank welche auf einer Linux umgebung sauber und ohne Fehler läuft.

Prod Server Grunddaten
PHP Version 5.1.2
mysql 5.0.20a
Apache Version Apache/2.2.0 (Unix) PHP/5.1.2

Nun habe ich mir von Xampp folgen Server besorgt.

mysql Client API version 5.1.30
PHP Version 5.2.8
Apache Version Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8


Dieser läuft local.
in der Php.ini habe ich nun auch alle memory_limits auf 64 M gestellt.

Aber leider bekomme ich immer noch die vielaussagende Fehlermeldung.

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 92139 bytes) in C:\Testumgebung\xampp\htdocs\sav06\funktionen\php\i0001.php on line 19

Die Fehlermeldung ist immer wieder die Gleiche nur mit anderen Zahlen und Membern.

Die Daten kommen aus einer Mysql Datenbank. keine Bilder!

Ich habe auch schon so manch Forumeintrag diesbezüglich durch aber wie schon geschrieben die php.ini habe ich schon auf total groß geschraubt?

Woran kann solch ein Fehler noch liegen ? Hoffe das jemand vielleicht doch noch eine Idea hat damit ich meine localetest umgebung zum laufen bekomme.

gruß
Alexander
 
Zuletzt bearbeitet:
Hi Alexander,

wenn 64MB in memory_limit nicht ausreicht und dein Speicher zuklein fuer 256mb ist,
dann versuch mal die goldene Mitte: 128M

Gruesse,
MArc
 
Zurück